mirror of
https://github.com/netbirdio/netbird.git
synced 2026-05-20 23:59:55 +00:00
Reinstates the SyncMappings RPC that landed on origin/main and the
client-side fallback to GetMappingUpdate.
- proto: SyncMappings RPC + SyncMappingsRequest{Init|Ack} +
SyncMappingsResponse messages.
- management proxy.go: SyncMappings server handler, recvSyncInit,
sendSnapshotSync (per-batch send-then-wait-for-ack), drainRecv,
waitForAck; proxyConnection.syncStream + sendResponse routes the
same sendChan onto the bidi stream when set.
- proxy/server.go: trySyncMappings + handleSyncMappingsStream that
acks after each batch is processed; outer loop tries SyncMappings
first and falls back to GetMappingUpdate on Unimplemented.
Capabilities lifted into proxyCapabilities() so both code paths
use the same flags.
3534 lines
132 KiB
Go
3534 lines
132 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.26.0
|
|
// protoc v6.33.3
|
|
// source: proxy_service.proto
|
|
|
|
package proto
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
|
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type ProxyMappingUpdateType int32
|
|
|
|
const (
|
|
ProxyMappingUpdateType_UPDATE_TYPE_CREATED ProxyMappingUpdateType = 0
|
|
ProxyMappingUpdateType_UPDATE_TYPE_MODIFIED ProxyMappingUpdateType = 1
|
|
ProxyMappingUpdateType_UPDATE_TYPE_REMOVED ProxyMappingUpdateType = 2
|
|
)
|
|
|
|
// Enum value maps for ProxyMappingUpdateType.
|
|
var (
|
|
ProxyMappingUpdateType_name = map[int32]string{
|
|
0: "UPDATE_TYPE_CREATED",
|
|
1: "UPDATE_TYPE_MODIFIED",
|
|
2: "UPDATE_TYPE_REMOVED",
|
|
}
|
|
ProxyMappingUpdateType_value = map[string]int32{
|
|
"UPDATE_TYPE_CREATED": 0,
|
|
"UPDATE_TYPE_MODIFIED": 1,
|
|
"UPDATE_TYPE_REMOVED": 2,
|
|
}
|
|
)
|
|
|
|
func (x ProxyMappingUpdateType) Enum() *ProxyMappingUpdateType {
|
|
p := new(ProxyMappingUpdateType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ProxyMappingUpdateType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ProxyMappingUpdateType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_proxy_service_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (ProxyMappingUpdateType) Type() protoreflect.EnumType {
|
|
return &file_proxy_service_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x ProxyMappingUpdateType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ProxyMappingUpdateType.Descriptor instead.
|
|
func (ProxyMappingUpdateType) EnumDescriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
type PathRewriteMode int32
|
|
|
|
const (
|
|
PathRewriteMode_PATH_REWRITE_DEFAULT PathRewriteMode = 0
|
|
PathRewriteMode_PATH_REWRITE_PRESERVE PathRewriteMode = 1
|
|
)
|
|
|
|
// Enum value maps for PathRewriteMode.
|
|
var (
|
|
PathRewriteMode_name = map[int32]string{
|
|
0: "PATH_REWRITE_DEFAULT",
|
|
1: "PATH_REWRITE_PRESERVE",
|
|
}
|
|
PathRewriteMode_value = map[string]int32{
|
|
"PATH_REWRITE_DEFAULT": 0,
|
|
"PATH_REWRITE_PRESERVE": 1,
|
|
}
|
|
)
|
|
|
|
func (x PathRewriteMode) Enum() *PathRewriteMode {
|
|
p := new(PathRewriteMode)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x PathRewriteMode) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (PathRewriteMode) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_proxy_service_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (PathRewriteMode) Type() protoreflect.EnumType {
|
|
return &file_proxy_service_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x PathRewriteMode) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use PathRewriteMode.Descriptor instead.
|
|
func (PathRewriteMode) EnumDescriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
type ProxyStatus int32
|
|
|
|
const (
|
|
ProxyStatus_PROXY_STATUS_PENDING ProxyStatus = 0
|
|
ProxyStatus_PROXY_STATUS_ACTIVE ProxyStatus = 1
|
|
ProxyStatus_PROXY_STATUS_TUNNEL_NOT_CREATED ProxyStatus = 2
|
|
ProxyStatus_PROXY_STATUS_CERTIFICATE_PENDING ProxyStatus = 3
|
|
ProxyStatus_PROXY_STATUS_CERTIFICATE_FAILED ProxyStatus = 4
|
|
ProxyStatus_PROXY_STATUS_ERROR ProxyStatus = 5
|
|
)
|
|
|
|
// Enum value maps for ProxyStatus.
|
|
var (
|
|
ProxyStatus_name = map[int32]string{
|
|
0: "PROXY_STATUS_PENDING",
|
|
1: "PROXY_STATUS_ACTIVE",
|
|
2: "PROXY_STATUS_TUNNEL_NOT_CREATED",
|
|
3: "PROXY_STATUS_CERTIFICATE_PENDING",
|
|
4: "PROXY_STATUS_CERTIFICATE_FAILED",
|
|
5: "PROXY_STATUS_ERROR",
|
|
}
|
|
ProxyStatus_value = map[string]int32{
|
|
"PROXY_STATUS_PENDING": 0,
|
|
"PROXY_STATUS_ACTIVE": 1,
|
|
"PROXY_STATUS_TUNNEL_NOT_CREATED": 2,
|
|
"PROXY_STATUS_CERTIFICATE_PENDING": 3,
|
|
"PROXY_STATUS_CERTIFICATE_FAILED": 4,
|
|
"PROXY_STATUS_ERROR": 5,
|
|
}
|
|
)
|
|
|
|
func (x ProxyStatus) Enum() *ProxyStatus {
|
|
p := new(ProxyStatus)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ProxyStatus) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ProxyStatus) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_proxy_service_proto_enumTypes[2].Descriptor()
|
|
}
|
|
|
|
func (ProxyStatus) Type() protoreflect.EnumType {
|
|
return &file_proxy_service_proto_enumTypes[2]
|
|
}
|
|
|
|
func (x ProxyStatus) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ProxyStatus.Descriptor instead.
|
|
func (ProxyStatus) EnumDescriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
// ProxyCapabilities describes what a proxy can handle.
|
|
type ProxyCapabilities struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Whether the proxy can bind arbitrary ports for TCP/UDP/TLS services.
|
|
SupportsCustomPorts *bool `protobuf:"varint,1,opt,name=supports_custom_ports,json=supportsCustomPorts,proto3,oneof" json:"supports_custom_ports,omitempty"`
|
|
// Whether the proxy requires a subdomain label in front of its cluster domain.
|
|
// When true, accounts cannot use the cluster domain bare.
|
|
RequireSubdomain *bool `protobuf:"varint,2,opt,name=require_subdomain,json=requireSubdomain,proto3,oneof" json:"require_subdomain,omitempty"`
|
|
// Whether the proxy has CrowdSec configured and can enforce IP reputation checks.
|
|
SupportsCrowdsec *bool `protobuf:"varint,3,opt,name=supports_crowdsec,json=supportsCrowdsec,proto3,oneof" json:"supports_crowdsec,omitempty"`
|
|
// Whether the proxy is running embedded in the netbird client and serving
|
|
// exclusively over the WireGuard tunnel (i.e. `netbird proxy` rather than
|
|
// the standalone netbird-proxy binary). Surfaces upstream so dashboards can
|
|
// distinguish per-peer / private clusters from centralised ones.
|
|
Private *bool `protobuf:"varint,4,opt,name=private,proto3,oneof" json:"private,omitempty"`
|
|
// Whether the proxy enforces ProxyMapping.private (fails closed on ValidateTunnelPeer failure). Management MUST NOT stream private mappings to proxies that don't claim this.
|
|
SupportsPrivateService *bool `protobuf:"varint,5,opt,name=supports_private_service,json=supportsPrivateService,proto3,oneof" json:"supports_private_service,omitempty"`
|
|
}
|
|
|
|
func (x *ProxyCapabilities) Reset() {
|
|
*x = ProxyCapabilities{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ProxyCapabilities) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ProxyCapabilities) ProtoMessage() {}
|
|
|
|
func (x *ProxyCapabilities) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ProxyCapabilities.ProtoReflect.Descriptor instead.
|
|
func (*ProxyCapabilities) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *ProxyCapabilities) GetSupportsCustomPorts() bool {
|
|
if x != nil && x.SupportsCustomPorts != nil {
|
|
return *x.SupportsCustomPorts
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ProxyCapabilities) GetRequireSubdomain() bool {
|
|
if x != nil && x.RequireSubdomain != nil {
|
|
return *x.RequireSubdomain
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ProxyCapabilities) GetSupportsCrowdsec() bool {
|
|
if x != nil && x.SupportsCrowdsec != nil {
|
|
return *x.SupportsCrowdsec
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ProxyCapabilities) GetPrivate() bool {
|
|
if x != nil && x.Private != nil {
|
|
return *x.Private
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ProxyCapabilities) GetSupportsPrivateService() bool {
|
|
if x != nil && x.SupportsPrivateService != nil {
|
|
return *x.SupportsPrivateService
|
|
}
|
|
return false
|
|
}
|
|
|
|
// GetMappingUpdateRequest is sent to initialise a mapping stream.
|
|
type GetMappingUpdateRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
ProxyId string `protobuf:"bytes,1,opt,name=proxy_id,json=proxyId,proto3" json:"proxy_id,omitempty"`
|
|
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
|
|
StartedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
|
|
Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
|
|
Capabilities *ProxyCapabilities `protobuf:"bytes,5,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
|
|
}
|
|
|
|
func (x *GetMappingUpdateRequest) Reset() {
|
|
*x = GetMappingUpdateRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GetMappingUpdateRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetMappingUpdateRequest) ProtoMessage() {}
|
|
|
|
func (x *GetMappingUpdateRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetMappingUpdateRequest.ProtoReflect.Descriptor instead.
|
|
func (*GetMappingUpdateRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *GetMappingUpdateRequest) GetProxyId() string {
|
|
if x != nil {
|
|
return x.ProxyId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetMappingUpdateRequest) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetMappingUpdateRequest) GetStartedAt() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.StartedAt
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GetMappingUpdateRequest) GetAddress() string {
|
|
if x != nil {
|
|
return x.Address
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetMappingUpdateRequest) GetCapabilities() *ProxyCapabilities {
|
|
if x != nil {
|
|
return x.Capabilities
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetMappingUpdateResponse contains zero or more ProxyMappings.
|
|
// No mappings may be sent to test the liveness of the Proxy.
|
|
// Mappings that are sent should be interpreted by the Proxy appropriately.
|
|
type GetMappingUpdateResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Mapping []*ProxyMapping `protobuf:"bytes,1,rep,name=mapping,proto3" json:"mapping,omitempty"`
|
|
// initial_sync_complete is set on the last message of the initial snapshot.
|
|
// The proxy uses this to signal that startup is complete.
|
|
InitialSyncComplete bool `protobuf:"varint,2,opt,name=initial_sync_complete,json=initialSyncComplete,proto3" json:"initial_sync_complete,omitempty"`
|
|
}
|
|
|
|
func (x *GetMappingUpdateResponse) Reset() {
|
|
*x = GetMappingUpdateResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GetMappingUpdateResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetMappingUpdateResponse) ProtoMessage() {}
|
|
|
|
func (x *GetMappingUpdateResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetMappingUpdateResponse.ProtoReflect.Descriptor instead.
|
|
func (*GetMappingUpdateResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *GetMappingUpdateResponse) GetMapping() []*ProxyMapping {
|
|
if x != nil {
|
|
return x.Mapping
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GetMappingUpdateResponse) GetInitialSyncComplete() bool {
|
|
if x != nil {
|
|
return x.InitialSyncComplete
|
|
}
|
|
return false
|
|
}
|
|
|
|
type PathTargetOptions struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
SkipTlsVerify bool `protobuf:"varint,1,opt,name=skip_tls_verify,json=skipTlsVerify,proto3" json:"skip_tls_verify,omitempty"`
|
|
RequestTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
|
|
PathRewrite PathRewriteMode `protobuf:"varint,3,opt,name=path_rewrite,json=pathRewrite,proto3,enum=management.PathRewriteMode" json:"path_rewrite,omitempty"`
|
|
CustomHeaders map[string]string `protobuf:"bytes,4,rep,name=custom_headers,json=customHeaders,proto3" json:"custom_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// Send PROXY protocol v2 header to this backend.
|
|
ProxyProtocol bool `protobuf:"varint,5,opt,name=proxy_protocol,json=proxyProtocol,proto3" json:"proxy_protocol,omitempty"`
|
|
// Idle timeout before a UDP session is reaped.
|
|
SessionIdleTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=session_idle_timeout,json=sessionIdleTimeout,proto3" json:"session_idle_timeout,omitempty"`
|
|
// When true, the proxy dials this target via the host's network stack
|
|
// instead of through the embedded NetBird client. Useful for upstreams
|
|
// reachable without WireGuard (public APIs, LAN services, localhost
|
|
// sidecars). Defaults to false — embedded client is the standard path.
|
|
DirectUpstream bool `protobuf:"varint,7,opt,name=direct_upstream,json=directUpstream,proto3" json:"direct_upstream,omitempty"`
|
|
}
|
|
|
|
func (x *PathTargetOptions) Reset() {
|
|
*x = PathTargetOptions{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PathTargetOptions) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PathTargetOptions) ProtoMessage() {}
|
|
|
|
func (x *PathTargetOptions) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PathTargetOptions.ProtoReflect.Descriptor instead.
|
|
func (*PathTargetOptions) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *PathTargetOptions) GetSkipTlsVerify() bool {
|
|
if x != nil {
|
|
return x.SkipTlsVerify
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *PathTargetOptions) GetRequestTimeout() *durationpb.Duration {
|
|
if x != nil {
|
|
return x.RequestTimeout
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PathTargetOptions) GetPathRewrite() PathRewriteMode {
|
|
if x != nil {
|
|
return x.PathRewrite
|
|
}
|
|
return PathRewriteMode_PATH_REWRITE_DEFAULT
|
|
}
|
|
|
|
func (x *PathTargetOptions) GetCustomHeaders() map[string]string {
|
|
if x != nil {
|
|
return x.CustomHeaders
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PathTargetOptions) GetProxyProtocol() bool {
|
|
if x != nil {
|
|
return x.ProxyProtocol
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *PathTargetOptions) GetSessionIdleTimeout() *durationpb.Duration {
|
|
if x != nil {
|
|
return x.SessionIdleTimeout
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PathTargetOptions) GetDirectUpstream() bool {
|
|
if x != nil {
|
|
return x.DirectUpstream
|
|
}
|
|
return false
|
|
}
|
|
|
|
type PathMapping struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
|
|
Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
|
|
Options *PathTargetOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"`
|
|
}
|
|
|
|
func (x *PathMapping) Reset() {
|
|
*x = PathMapping{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PathMapping) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PathMapping) ProtoMessage() {}
|
|
|
|
func (x *PathMapping) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[4]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PathMapping.ProtoReflect.Descriptor instead.
|
|
func (*PathMapping) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *PathMapping) GetPath() string {
|
|
if x != nil {
|
|
return x.Path
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PathMapping) GetTarget() string {
|
|
if x != nil {
|
|
return x.Target
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PathMapping) GetOptions() *PathTargetOptions {
|
|
if x != nil {
|
|
return x.Options
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type HeaderAuth struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Header name to check, e.g. "Authorization", "X-API-Key".
|
|
Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
|
|
// argon2id hash of the expected full header value.
|
|
HashedValue string `protobuf:"bytes,2,opt,name=hashed_value,json=hashedValue,proto3" json:"hashed_value,omitempty"`
|
|
}
|
|
|
|
func (x *HeaderAuth) Reset() {
|
|
*x = HeaderAuth{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *HeaderAuth) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HeaderAuth) ProtoMessage() {}
|
|
|
|
func (x *HeaderAuth) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[5]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HeaderAuth.ProtoReflect.Descriptor instead.
|
|
func (*HeaderAuth) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *HeaderAuth) GetHeader() string {
|
|
if x != nil {
|
|
return x.Header
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *HeaderAuth) GetHashedValue() string {
|
|
if x != nil {
|
|
return x.HashedValue
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type Authentication struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
SessionKey string `protobuf:"bytes,1,opt,name=session_key,json=sessionKey,proto3" json:"session_key,omitempty"`
|
|
MaxSessionAgeSeconds int64 `protobuf:"varint,2,opt,name=max_session_age_seconds,json=maxSessionAgeSeconds,proto3" json:"max_session_age_seconds,omitempty"`
|
|
Password bool `protobuf:"varint,3,opt,name=password,proto3" json:"password,omitempty"`
|
|
Pin bool `protobuf:"varint,4,opt,name=pin,proto3" json:"pin,omitempty"`
|
|
Oidc bool `protobuf:"varint,5,opt,name=oidc,proto3" json:"oidc,omitempty"`
|
|
HeaderAuths []*HeaderAuth `protobuf:"bytes,6,rep,name=header_auths,json=headerAuths,proto3" json:"header_auths,omitempty"`
|
|
}
|
|
|
|
func (x *Authentication) Reset() {
|
|
*x = Authentication{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Authentication) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Authentication) ProtoMessage() {}
|
|
|
|
func (x *Authentication) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[6]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Authentication.ProtoReflect.Descriptor instead.
|
|
func (*Authentication) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *Authentication) GetSessionKey() string {
|
|
if x != nil {
|
|
return x.SessionKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Authentication) GetMaxSessionAgeSeconds() int64 {
|
|
if x != nil {
|
|
return x.MaxSessionAgeSeconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Authentication) GetPassword() bool {
|
|
if x != nil {
|
|
return x.Password
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Authentication) GetPin() bool {
|
|
if x != nil {
|
|
return x.Pin
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Authentication) GetOidc() bool {
|
|
if x != nil {
|
|
return x.Oidc
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Authentication) GetHeaderAuths() []*HeaderAuth {
|
|
if x != nil {
|
|
return x.HeaderAuths
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type AccessRestrictions struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
AllowedCidrs []string `protobuf:"bytes,1,rep,name=allowed_cidrs,json=allowedCidrs,proto3" json:"allowed_cidrs,omitempty"`
|
|
BlockedCidrs []string `protobuf:"bytes,2,rep,name=blocked_cidrs,json=blockedCidrs,proto3" json:"blocked_cidrs,omitempty"`
|
|
AllowedCountries []string `protobuf:"bytes,3,rep,name=allowed_countries,json=allowedCountries,proto3" json:"allowed_countries,omitempty"`
|
|
BlockedCountries []string `protobuf:"bytes,4,rep,name=blocked_countries,json=blockedCountries,proto3" json:"blocked_countries,omitempty"`
|
|
// CrowdSec IP reputation mode: "", "off", "enforce", or "observe".
|
|
CrowdsecMode string `protobuf:"bytes,5,opt,name=crowdsec_mode,json=crowdsecMode,proto3" json:"crowdsec_mode,omitempty"`
|
|
}
|
|
|
|
func (x *AccessRestrictions) Reset() {
|
|
*x = AccessRestrictions{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccessRestrictions) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccessRestrictions) ProtoMessage() {}
|
|
|
|
func (x *AccessRestrictions) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[7]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccessRestrictions.ProtoReflect.Descriptor instead.
|
|
func (*AccessRestrictions) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *AccessRestrictions) GetAllowedCidrs() []string {
|
|
if x != nil {
|
|
return x.AllowedCidrs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AccessRestrictions) GetBlockedCidrs() []string {
|
|
if x != nil {
|
|
return x.BlockedCidrs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AccessRestrictions) GetAllowedCountries() []string {
|
|
if x != nil {
|
|
return x.AllowedCountries
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AccessRestrictions) GetBlockedCountries() []string {
|
|
if x != nil {
|
|
return x.BlockedCountries
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AccessRestrictions) GetCrowdsecMode() string {
|
|
if x != nil {
|
|
return x.CrowdsecMode
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type ProxyMapping struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Type ProxyMappingUpdateType `protobuf:"varint,1,opt,name=type,proto3,enum=management.ProxyMappingUpdateType" json:"type,omitempty"`
|
|
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
|
|
AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
|
|
Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"`
|
|
Path []*PathMapping `protobuf:"bytes,5,rep,name=path,proto3" json:"path,omitempty"`
|
|
AuthToken string `protobuf:"bytes,6,opt,name=auth_token,json=authToken,proto3" json:"auth_token,omitempty"`
|
|
Auth *Authentication `protobuf:"bytes,7,opt,name=auth,proto3" json:"auth,omitempty"`
|
|
// When true, the original Host header from the client request is passed
|
|
// through to the backend instead of being rewritten to the backend's address.
|
|
PassHostHeader bool `protobuf:"varint,8,opt,name=pass_host_header,json=passHostHeader,proto3" json:"pass_host_header,omitempty"`
|
|
// When true, Location headers in backend responses are rewritten to replace
|
|
// the backend address with the public-facing domain.
|
|
RewriteRedirects bool `protobuf:"varint,9,opt,name=rewrite_redirects,json=rewriteRedirects,proto3" json:"rewrite_redirects,omitempty"`
|
|
// Service mode: "http", "tcp", "udp", or "tls".
|
|
Mode string `protobuf:"bytes,10,opt,name=mode,proto3" json:"mode,omitempty"`
|
|
// For L4/TLS: the port the proxy listens on.
|
|
ListenPort int32 `protobuf:"varint,11,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"`
|
|
AccessRestrictions *AccessRestrictions `protobuf:"bytes,12,opt,name=access_restrictions,json=accessRestrictions,proto3" json:"access_restrictions,omitempty"`
|
|
// NetBird-only: the proxy MUST call ValidateTunnelPeer and fail closed; operator auth schemes are bypassed.
|
|
Private bool `protobuf:"varint,13,opt,name=private,proto3" json:"private,omitempty"`
|
|
}
|
|
|
|
func (x *ProxyMapping) Reset() {
|
|
*x = ProxyMapping{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ProxyMapping) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ProxyMapping) ProtoMessage() {}
|
|
|
|
func (x *ProxyMapping) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[8]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ProxyMapping.ProtoReflect.Descriptor instead.
|
|
func (*ProxyMapping) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *ProxyMapping) GetType() ProxyMappingUpdateType {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ProxyMappingUpdateType_UPDATE_TYPE_CREATED
|
|
}
|
|
|
|
func (x *ProxyMapping) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ProxyMapping) GetAccountId() string {
|
|
if x != nil {
|
|
return x.AccountId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ProxyMapping) GetDomain() string {
|
|
if x != nil {
|
|
return x.Domain
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ProxyMapping) GetPath() []*PathMapping {
|
|
if x != nil {
|
|
return x.Path
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ProxyMapping) GetAuthToken() string {
|
|
if x != nil {
|
|
return x.AuthToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ProxyMapping) GetAuth() *Authentication {
|
|
if x != nil {
|
|
return x.Auth
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ProxyMapping) GetPassHostHeader() bool {
|
|
if x != nil {
|
|
return x.PassHostHeader
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ProxyMapping) GetRewriteRedirects() bool {
|
|
if x != nil {
|
|
return x.RewriteRedirects
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ProxyMapping) GetMode() string {
|
|
if x != nil {
|
|
return x.Mode
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ProxyMapping) GetListenPort() int32 {
|
|
if x != nil {
|
|
return x.ListenPort
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ProxyMapping) GetAccessRestrictions() *AccessRestrictions {
|
|
if x != nil {
|
|
return x.AccessRestrictions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ProxyMapping) GetPrivate() bool {
|
|
if x != nil {
|
|
return x.Private
|
|
}
|
|
return false
|
|
}
|
|
|
|
// SendAccessLogRequest consists of one or more AccessLogs from a Proxy.
|
|
type SendAccessLogRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Log *AccessLog `protobuf:"bytes,1,opt,name=log,proto3" json:"log,omitempty"`
|
|
}
|
|
|
|
func (x *SendAccessLogRequest) Reset() {
|
|
*x = SendAccessLogRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SendAccessLogRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SendAccessLogRequest) ProtoMessage() {}
|
|
|
|
func (x *SendAccessLogRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[9]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SendAccessLogRequest.ProtoReflect.Descriptor instead.
|
|
func (*SendAccessLogRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *SendAccessLogRequest) GetLog() *AccessLog {
|
|
if x != nil {
|
|
return x.Log
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SendAccessLogResponse is intentionally empty to allow for future expansion.
|
|
type SendAccessLogResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
}
|
|
|
|
func (x *SendAccessLogResponse) Reset() {
|
|
*x = SendAccessLogResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SendAccessLogResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SendAccessLogResponse) ProtoMessage() {}
|
|
|
|
func (x *SendAccessLogResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[10]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SendAccessLogResponse.ProtoReflect.Descriptor instead.
|
|
func (*SendAccessLogResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
type AccessLog struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
LogId string `protobuf:"bytes,2,opt,name=log_id,json=logId,proto3" json:"log_id,omitempty"`
|
|
AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
|
|
ServiceId string `protobuf:"bytes,4,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
|
|
Host string `protobuf:"bytes,5,opt,name=host,proto3" json:"host,omitempty"`
|
|
Path string `protobuf:"bytes,6,opt,name=path,proto3" json:"path,omitempty"`
|
|
DurationMs int64 `protobuf:"varint,7,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
|
|
Method string `protobuf:"bytes,8,opt,name=method,proto3" json:"method,omitempty"`
|
|
ResponseCode int32 `protobuf:"varint,9,opt,name=response_code,json=responseCode,proto3" json:"response_code,omitempty"`
|
|
SourceIp string `protobuf:"bytes,10,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"`
|
|
AuthMechanism string `protobuf:"bytes,11,opt,name=auth_mechanism,json=authMechanism,proto3" json:"auth_mechanism,omitempty"`
|
|
UserId string `protobuf:"bytes,12,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
AuthSuccess bool `protobuf:"varint,13,opt,name=auth_success,json=authSuccess,proto3" json:"auth_success,omitempty"`
|
|
BytesUpload int64 `protobuf:"varint,14,opt,name=bytes_upload,json=bytesUpload,proto3" json:"bytes_upload,omitempty"`
|
|
BytesDownload int64 `protobuf:"varint,15,opt,name=bytes_download,json=bytesDownload,proto3" json:"bytes_download,omitempty"`
|
|
Protocol string `protobuf:"bytes,16,opt,name=protocol,proto3" json:"protocol,omitempty"`
|
|
// Extra key-value metadata for the access log entry (e.g. crowdsec_verdict, scenario).
|
|
Metadata map[string]string `protobuf:"bytes,17,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *AccessLog) Reset() {
|
|
*x = AccessLog{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AccessLog) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AccessLog) ProtoMessage() {}
|
|
|
|
func (x *AccessLog) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[11]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AccessLog.ProtoReflect.Descriptor instead.
|
|
func (*AccessLog) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *AccessLog) GetTimestamp() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AccessLog) GetLogId() string {
|
|
if x != nil {
|
|
return x.LogId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetAccountId() string {
|
|
if x != nil {
|
|
return x.AccountId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetServiceId() string {
|
|
if x != nil {
|
|
return x.ServiceId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetHost() string {
|
|
if x != nil {
|
|
return x.Host
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetPath() string {
|
|
if x != nil {
|
|
return x.Path
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetDurationMs() int64 {
|
|
if x != nil {
|
|
return x.DurationMs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AccessLog) GetMethod() string {
|
|
if x != nil {
|
|
return x.Method
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetResponseCode() int32 {
|
|
if x != nil {
|
|
return x.ResponseCode
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AccessLog) GetSourceIp() string {
|
|
if x != nil {
|
|
return x.SourceIp
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetAuthMechanism() string {
|
|
if x != nil {
|
|
return x.AuthMechanism
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetAuthSuccess() bool {
|
|
if x != nil {
|
|
return x.AuthSuccess
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *AccessLog) GetBytesUpload() int64 {
|
|
if x != nil {
|
|
return x.BytesUpload
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AccessLog) GetBytesDownload() int64 {
|
|
if x != nil {
|
|
return x.BytesDownload
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AccessLog) GetProtocol() string {
|
|
if x != nil {
|
|
return x.Protocol
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AccessLog) GetMetadata() map[string]string {
|
|
if x != nil {
|
|
return x.Metadata
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type AuthenticateRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
|
|
// Types that are assignable to Request:
|
|
//
|
|
// *AuthenticateRequest_Password
|
|
// *AuthenticateRequest_Pin
|
|
// *AuthenticateRequest_HeaderAuth
|
|
Request isAuthenticateRequest_Request `protobuf_oneof:"request"`
|
|
}
|
|
|
|
func (x *AuthenticateRequest) Reset() {
|
|
*x = AuthenticateRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateRequest) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[12]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateRequest.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *AuthenticateRequest) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AuthenticateRequest) GetAccountId() string {
|
|
if x != nil {
|
|
return x.AccountId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *AuthenticateRequest) GetRequest() isAuthenticateRequest_Request {
|
|
if m != nil {
|
|
return m.Request
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateRequest) GetPassword() *PasswordRequest {
|
|
if x, ok := x.GetRequest().(*AuthenticateRequest_Password); ok {
|
|
return x.Password
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateRequest) GetPin() *PinRequest {
|
|
if x, ok := x.GetRequest().(*AuthenticateRequest_Pin); ok {
|
|
return x.Pin
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AuthenticateRequest) GetHeaderAuth() *HeaderAuthRequest {
|
|
if x, ok := x.GetRequest().(*AuthenticateRequest_HeaderAuth); ok {
|
|
return x.HeaderAuth
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isAuthenticateRequest_Request interface {
|
|
isAuthenticateRequest_Request()
|
|
}
|
|
|
|
type AuthenticateRequest_Password struct {
|
|
Password *PasswordRequest `protobuf:"bytes,3,opt,name=password,proto3,oneof"`
|
|
}
|
|
|
|
type AuthenticateRequest_Pin struct {
|
|
Pin *PinRequest `protobuf:"bytes,4,opt,name=pin,proto3,oneof"`
|
|
}
|
|
|
|
type AuthenticateRequest_HeaderAuth struct {
|
|
HeaderAuth *HeaderAuthRequest `protobuf:"bytes,5,opt,name=header_auth,json=headerAuth,proto3,oneof"`
|
|
}
|
|
|
|
func (*AuthenticateRequest_Password) isAuthenticateRequest_Request() {}
|
|
|
|
func (*AuthenticateRequest_Pin) isAuthenticateRequest_Request() {}
|
|
|
|
func (*AuthenticateRequest_HeaderAuth) isAuthenticateRequest_Request() {}
|
|
|
|
type HeaderAuthRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
HeaderValue string `protobuf:"bytes,1,opt,name=header_value,json=headerValue,proto3" json:"header_value,omitempty"`
|
|
HeaderName string `protobuf:"bytes,2,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
|
|
}
|
|
|
|
func (x *HeaderAuthRequest) Reset() {
|
|
*x = HeaderAuthRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *HeaderAuthRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HeaderAuthRequest) ProtoMessage() {}
|
|
|
|
func (x *HeaderAuthRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[13]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HeaderAuthRequest.ProtoReflect.Descriptor instead.
|
|
func (*HeaderAuthRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *HeaderAuthRequest) GetHeaderValue() string {
|
|
if x != nil {
|
|
return x.HeaderValue
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *HeaderAuthRequest) GetHeaderName() string {
|
|
if x != nil {
|
|
return x.HeaderName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type PasswordRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
|
|
}
|
|
|
|
func (x *PasswordRequest) Reset() {
|
|
*x = PasswordRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PasswordRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PasswordRequest) ProtoMessage() {}
|
|
|
|
func (x *PasswordRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[14]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PasswordRequest.ProtoReflect.Descriptor instead.
|
|
func (*PasswordRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *PasswordRequest) GetPassword() string {
|
|
if x != nil {
|
|
return x.Password
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type PinRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Pin string `protobuf:"bytes,1,opt,name=pin,proto3" json:"pin,omitempty"`
|
|
}
|
|
|
|
func (x *PinRequest) Reset() {
|
|
*x = PinRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PinRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PinRequest) ProtoMessage() {}
|
|
|
|
func (x *PinRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[15]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PinRequest.ProtoReflect.Descriptor instead.
|
|
func (*PinRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *PinRequest) GetPin() string {
|
|
if x != nil {
|
|
return x.Pin
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type AuthenticateResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
|
|
SessionToken string `protobuf:"bytes,2,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
|
|
}
|
|
|
|
func (x *AuthenticateResponse) Reset() {
|
|
*x = AuthenticateResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AuthenticateResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthenticateResponse) ProtoMessage() {}
|
|
|
|
func (x *AuthenticateResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[16]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthenticateResponse.ProtoReflect.Descriptor instead.
|
|
func (*AuthenticateResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *AuthenticateResponse) GetSuccess() bool {
|
|
if x != nil {
|
|
return x.Success
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *AuthenticateResponse) GetSessionToken() string {
|
|
if x != nil {
|
|
return x.SessionToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// SendStatusUpdateRequest is sent by the proxy to update its status
|
|
type SendStatusUpdateRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
ServiceId string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
|
|
AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
|
|
Status ProxyStatus `protobuf:"varint,3,opt,name=status,proto3,enum=management.ProxyStatus" json:"status,omitempty"`
|
|
CertificateIssued bool `protobuf:"varint,4,opt,name=certificate_issued,json=certificateIssued,proto3" json:"certificate_issued,omitempty"`
|
|
ErrorMessage *string `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"`
|
|
// Per-account inbound listener state for the account that owns
|
|
// service_id. Populated only when --private-inbound is enabled and the
|
|
// embedded client for the account is up. Field numbers >=50 reserved
|
|
// for observability extensions.
|
|
InboundListener *ProxyInboundListener `protobuf:"bytes,50,opt,name=inbound_listener,json=inboundListener,proto3,oneof" json:"inbound_listener,omitempty"`
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) Reset() {
|
|
*x = SendStatusUpdateRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SendStatusUpdateRequest) ProtoMessage() {}
|
|
|
|
func (x *SendStatusUpdateRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[17]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SendStatusUpdateRequest.ProtoReflect.Descriptor instead.
|
|
func (*SendStatusUpdateRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) GetServiceId() string {
|
|
if x != nil {
|
|
return x.ServiceId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) GetAccountId() string {
|
|
if x != nil {
|
|
return x.AccountId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) GetStatus() ProxyStatus {
|
|
if x != nil {
|
|
return x.Status
|
|
}
|
|
return ProxyStatus_PROXY_STATUS_PENDING
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) GetCertificateIssued() bool {
|
|
if x != nil {
|
|
return x.CertificateIssued
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) GetErrorMessage() string {
|
|
if x != nil && x.ErrorMessage != nil {
|
|
return *x.ErrorMessage
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SendStatusUpdateRequest) GetInboundListener() *ProxyInboundListener {
|
|
if x != nil {
|
|
return x.InboundListener
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ProxyInboundListener describes a per-account inbound listener that the
|
|
// proxy has bound on the embedded netstack of the account's WireGuard
|
|
// client. Surfaced so dashboards can render "this account is reachable
|
|
// at <tunnel_ip>:<https_port> on this proxy".
|
|
type ProxyInboundListener struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Tunnel IP the embedded netstack listens on. Same address other peers
|
|
// in the account see for the proxy peer.
|
|
TunnelIp string `protobuf:"bytes,1,opt,name=tunnel_ip,json=tunnelIp,proto3" json:"tunnel_ip,omitempty"`
|
|
// TLS port served on tunnel_ip (auto-detected, default 443).
|
|
HttpsPort uint32 `protobuf:"varint,2,opt,name=https_port,json=httpsPort,proto3" json:"https_port,omitempty"`
|
|
// Plain-HTTP port served on tunnel_ip (auto-detected, default 80).
|
|
HttpPort uint32 `protobuf:"varint,3,opt,name=http_port,json=httpPort,proto3" json:"http_port,omitempty"`
|
|
}
|
|
|
|
func (x *ProxyInboundListener) Reset() {
|
|
*x = ProxyInboundListener{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ProxyInboundListener) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ProxyInboundListener) ProtoMessage() {}
|
|
|
|
func (x *ProxyInboundListener) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[18]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ProxyInboundListener.ProtoReflect.Descriptor instead.
|
|
func (*ProxyInboundListener) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *ProxyInboundListener) GetTunnelIp() string {
|
|
if x != nil {
|
|
return x.TunnelIp
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ProxyInboundListener) GetHttpsPort() uint32 {
|
|
if x != nil {
|
|
return x.HttpsPort
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ProxyInboundListener) GetHttpPort() uint32 {
|
|
if x != nil {
|
|
return x.HttpPort
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// SendStatusUpdateResponse is intentionally empty to allow for future expansion
|
|
type SendStatusUpdateResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
}
|
|
|
|
func (x *SendStatusUpdateResponse) Reset() {
|
|
*x = SendStatusUpdateResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[19]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SendStatusUpdateResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SendStatusUpdateResponse) ProtoMessage() {}
|
|
|
|
func (x *SendStatusUpdateResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[19]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SendStatusUpdateResponse.ProtoReflect.Descriptor instead.
|
|
func (*SendStatusUpdateResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{19}
|
|
}
|
|
|
|
// CreateProxyPeerRequest is sent by the proxy to create a peer connection
|
|
// The token is a one-time authentication token sent via ProxyMapping
|
|
type CreateProxyPeerRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
ServiceId string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
|
|
AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
|
|
Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"`
|
|
WireguardPublicKey string `protobuf:"bytes,4,opt,name=wireguard_public_key,json=wireguardPublicKey,proto3" json:"wireguard_public_key,omitempty"`
|
|
Cluster string `protobuf:"bytes,5,opt,name=cluster,proto3" json:"cluster,omitempty"`
|
|
}
|
|
|
|
func (x *CreateProxyPeerRequest) Reset() {
|
|
*x = CreateProxyPeerRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[20]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *CreateProxyPeerRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CreateProxyPeerRequest) ProtoMessage() {}
|
|
|
|
func (x *CreateProxyPeerRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[20]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CreateProxyPeerRequest.ProtoReflect.Descriptor instead.
|
|
func (*CreateProxyPeerRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{20}
|
|
}
|
|
|
|
func (x *CreateProxyPeerRequest) GetServiceId() string {
|
|
if x != nil {
|
|
return x.ServiceId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateProxyPeerRequest) GetAccountId() string {
|
|
if x != nil {
|
|
return x.AccountId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateProxyPeerRequest) GetToken() string {
|
|
if x != nil {
|
|
return x.Token
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateProxyPeerRequest) GetWireguardPublicKey() string {
|
|
if x != nil {
|
|
return x.WireguardPublicKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateProxyPeerRequest) GetCluster() string {
|
|
if x != nil {
|
|
return x.Cluster
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// CreateProxyPeerResponse contains the result of peer creation
|
|
type CreateProxyPeerResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
|
|
ErrorMessage *string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"`
|
|
}
|
|
|
|
func (x *CreateProxyPeerResponse) Reset() {
|
|
*x = CreateProxyPeerResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[21]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *CreateProxyPeerResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CreateProxyPeerResponse) ProtoMessage() {}
|
|
|
|
func (x *CreateProxyPeerResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[21]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CreateProxyPeerResponse.ProtoReflect.Descriptor instead.
|
|
func (*CreateProxyPeerResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{21}
|
|
}
|
|
|
|
func (x *CreateProxyPeerResponse) GetSuccess() bool {
|
|
if x != nil {
|
|
return x.Success
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *CreateProxyPeerResponse) GetErrorMessage() string {
|
|
if x != nil && x.ErrorMessage != nil {
|
|
return *x.ErrorMessage
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type GetOIDCURLRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
|
|
RedirectUrl string `protobuf:"bytes,3,opt,name=redirect_url,json=redirectUrl,proto3" json:"redirect_url,omitempty"`
|
|
}
|
|
|
|
func (x *GetOIDCURLRequest) Reset() {
|
|
*x = GetOIDCURLRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[22]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GetOIDCURLRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetOIDCURLRequest) ProtoMessage() {}
|
|
|
|
func (x *GetOIDCURLRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[22]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetOIDCURLRequest.ProtoReflect.Descriptor instead.
|
|
func (*GetOIDCURLRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{22}
|
|
}
|
|
|
|
func (x *GetOIDCURLRequest) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetOIDCURLRequest) GetAccountId() string {
|
|
if x != nil {
|
|
return x.AccountId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetOIDCURLRequest) GetRedirectUrl() string {
|
|
if x != nil {
|
|
return x.RedirectUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type GetOIDCURLResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
|
|
}
|
|
|
|
func (x *GetOIDCURLResponse) Reset() {
|
|
*x = GetOIDCURLResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[23]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *GetOIDCURLResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetOIDCURLResponse) ProtoMessage() {}
|
|
|
|
func (x *GetOIDCURLResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[23]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetOIDCURLResponse.ProtoReflect.Descriptor instead.
|
|
func (*GetOIDCURLResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{23}
|
|
}
|
|
|
|
func (x *GetOIDCURLResponse) GetUrl() string {
|
|
if x != nil {
|
|
return x.Url
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type ValidateSessionRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
|
|
SessionToken string `protobuf:"bytes,2,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
|
|
}
|
|
|
|
func (x *ValidateSessionRequest) Reset() {
|
|
*x = ValidateSessionRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[24]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidateSessionRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidateSessionRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidateSessionRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[24]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidateSessionRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidateSessionRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{24}
|
|
}
|
|
|
|
func (x *ValidateSessionRequest) GetDomain() string {
|
|
if x != nil {
|
|
return x.Domain
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateSessionRequest) GetSessionToken() string {
|
|
if x != nil {
|
|
return x.SessionToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type ValidateSessionResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
|
|
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
UserEmail string `protobuf:"bytes,3,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
|
|
DeniedReason string `protobuf:"bytes,4,opt,name=denied_reason,json=deniedReason,proto3" json:"denied_reason,omitempty"`
|
|
// peer_group_ids carries the calling user's group memberships so the
|
|
// proxy can authorise policy-aware middlewares without an additional
|
|
// management round-trip.
|
|
PeerGroupIds []string `protobuf:"bytes,5,rep,name=peer_group_ids,json=peerGroupIds,proto3" json:"peer_group_ids,omitempty"`
|
|
// peer_group_names carries the human-readable display names for the
|
|
// ids in peer_group_ids, ordered identically (positional pairing).
|
|
// Stamped onto upstream requests as X-NetBird-Groups so downstream
|
|
// services can read names rather than opaque ids.
|
|
PeerGroupNames []string `protobuf:"bytes,6,rep,name=peer_group_names,json=peerGroupNames,proto3" json:"peer_group_names,omitempty"`
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) Reset() {
|
|
*x = ValidateSessionResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[25]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidateSessionResponse) ProtoMessage() {}
|
|
|
|
func (x *ValidateSessionResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[25]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidateSessionResponse.ProtoReflect.Descriptor instead.
|
|
func (*ValidateSessionResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{25}
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) GetValid() bool {
|
|
if x != nil {
|
|
return x.Valid
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) GetUserEmail() string {
|
|
if x != nil {
|
|
return x.UserEmail
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) GetDeniedReason() string {
|
|
if x != nil {
|
|
return x.DeniedReason
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) GetPeerGroupIds() []string {
|
|
if x != nil {
|
|
return x.PeerGroupIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidateSessionResponse) GetPeerGroupNames() []string {
|
|
if x != nil {
|
|
return x.PeerGroupNames
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ValidateTunnelPeerRequest carries the inbound peer's tunnel IP and the
|
|
// service domain whose group requirements should gate access. The calling
|
|
// account is inferred from the proxy's gRPC metadata (ProxyToken).
|
|
type ValidateTunnelPeerRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
TunnelIp string `protobuf:"bytes,1,opt,name=tunnel_ip,json=tunnelIp,proto3" json:"tunnel_ip,omitempty"`
|
|
Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerRequest) Reset() {
|
|
*x = ValidateTunnelPeerRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[26]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidateTunnelPeerRequest) ProtoMessage() {}
|
|
|
|
func (x *ValidateTunnelPeerRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[26]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidateTunnelPeerRequest.ProtoReflect.Descriptor instead.
|
|
func (*ValidateTunnelPeerRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{26}
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerRequest) GetTunnelIp() string {
|
|
if x != nil {
|
|
return x.TunnelIp
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerRequest) GetDomain() string {
|
|
if x != nil {
|
|
return x.Domain
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// ValidateTunnelPeerResponse mirrors ValidateSessionResponse plus a freshly
|
|
// minted session_token: when valid is true, the proxy installs the token as
|
|
// a session cookie so subsequent requests skip the management round-trip,
|
|
// matching the OIDC flow's UX. denied_reason values:
|
|
//
|
|
// "peer_not_found" — no peer with that tunnel IP in the calling account
|
|
// "no_user" — peer exists but is not bound to a user
|
|
// "service_not_found"
|
|
// "account_mismatch"
|
|
// "not_in_group" — user resolved but not in service.distribution_groups
|
|
type ValidateTunnelPeerResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
|
|
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
UserEmail string `protobuf:"bytes,3,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
|
|
DeniedReason string `protobuf:"bytes,4,opt,name=denied_reason,json=deniedReason,proto3" json:"denied_reason,omitempty"`
|
|
// session_token is set only when valid is true. Same shape as the JWT
|
|
// the OIDC flow produces — proxy installs it via setSessionCookie so the
|
|
// tunnel fast-path is indistinguishable from OIDC for subsequent requests.
|
|
SessionToken string `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
|
|
// peer_group_ids carries the resolved peer's user group memberships so
|
|
// the proxy can authorise policy-aware middlewares without an additional
|
|
// management round-trip.
|
|
PeerGroupIds []string `protobuf:"bytes,6,rep,name=peer_group_ids,json=peerGroupIds,proto3" json:"peer_group_ids,omitempty"`
|
|
// peer_group_names carries the human-readable display names for the
|
|
// ids in peer_group_ids, ordered identically (positional pairing).
|
|
// Stamped onto upstream requests as X-NetBird-Groups so downstream
|
|
// services can read names rather than opaque ids.
|
|
PeerGroupNames []string `protobuf:"bytes,7,rep,name=peer_group_names,json=peerGroupNames,proto3" json:"peer_group_names,omitempty"`
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) Reset() {
|
|
*x = ValidateTunnelPeerResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[27]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ValidateTunnelPeerResponse) ProtoMessage() {}
|
|
|
|
func (x *ValidateTunnelPeerResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[27]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ValidateTunnelPeerResponse.ProtoReflect.Descriptor instead.
|
|
func (*ValidateTunnelPeerResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{27}
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) GetValid() bool {
|
|
if x != nil {
|
|
return x.Valid
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) GetUserEmail() string {
|
|
if x != nil {
|
|
return x.UserEmail
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) GetDeniedReason() string {
|
|
if x != nil {
|
|
return x.DeniedReason
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) GetSessionToken() string {
|
|
if x != nil {
|
|
return x.SessionToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) GetPeerGroupIds() []string {
|
|
if x != nil {
|
|
return x.PeerGroupIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ValidateTunnelPeerResponse) GetPeerGroupNames() []string {
|
|
if x != nil {
|
|
return x.PeerGroupNames
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SyncMappingsRequest is sent by the proxy on the bidirectional SyncMappings
|
|
// stream. The first message MUST be an init; all subsequent messages MUST be
|
|
// acks.
|
|
type SyncMappingsRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Types that are assignable to Msg:
|
|
//
|
|
// *SyncMappingsRequest_Init
|
|
// *SyncMappingsRequest_Ack
|
|
Msg isSyncMappingsRequest_Msg `protobuf_oneof:"msg"`
|
|
}
|
|
|
|
func (x *SyncMappingsRequest) Reset() {
|
|
*x = SyncMappingsRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[28]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SyncMappingsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SyncMappingsRequest) ProtoMessage() {}
|
|
|
|
func (x *SyncMappingsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[28]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SyncMappingsRequest.ProtoReflect.Descriptor instead.
|
|
func (*SyncMappingsRequest) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{28}
|
|
}
|
|
|
|
func (m *SyncMappingsRequest) GetMsg() isSyncMappingsRequest_Msg {
|
|
if m != nil {
|
|
return m.Msg
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SyncMappingsRequest) GetInit() *SyncMappingsInit {
|
|
if x, ok := x.GetMsg().(*SyncMappingsRequest_Init); ok {
|
|
return x.Init
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SyncMappingsRequest) GetAck() *SyncMappingsAck {
|
|
if x, ok := x.GetMsg().(*SyncMappingsRequest_Ack); ok {
|
|
return x.Ack
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isSyncMappingsRequest_Msg interface {
|
|
isSyncMappingsRequest_Msg()
|
|
}
|
|
|
|
type SyncMappingsRequest_Init struct {
|
|
Init *SyncMappingsInit `protobuf:"bytes,1,opt,name=init,proto3,oneof"`
|
|
}
|
|
|
|
type SyncMappingsRequest_Ack struct {
|
|
Ack *SyncMappingsAck `protobuf:"bytes,2,opt,name=ack,proto3,oneof"`
|
|
}
|
|
|
|
func (*SyncMappingsRequest_Init) isSyncMappingsRequest_Msg() {}
|
|
|
|
func (*SyncMappingsRequest_Ack) isSyncMappingsRequest_Msg() {}
|
|
|
|
// SyncMappingsInit is the first message on the stream, carrying the same
|
|
// identification fields as GetMappingUpdateRequest.
|
|
type SyncMappingsInit struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
ProxyId string `protobuf:"bytes,1,opt,name=proxy_id,json=proxyId,proto3" json:"proxy_id,omitempty"`
|
|
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
|
|
StartedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
|
|
Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
|
|
Capabilities *ProxyCapabilities `protobuf:"bytes,5,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
|
|
}
|
|
|
|
func (x *SyncMappingsInit) Reset() {
|
|
*x = SyncMappingsInit{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[29]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SyncMappingsInit) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SyncMappingsInit) ProtoMessage() {}
|
|
|
|
func (x *SyncMappingsInit) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[29]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SyncMappingsInit.ProtoReflect.Descriptor instead.
|
|
func (*SyncMappingsInit) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{29}
|
|
}
|
|
|
|
func (x *SyncMappingsInit) GetProxyId() string {
|
|
if x != nil {
|
|
return x.ProxyId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SyncMappingsInit) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SyncMappingsInit) GetStartedAt() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.StartedAt
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SyncMappingsInit) GetAddress() string {
|
|
if x != nil {
|
|
return x.Address
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SyncMappingsInit) GetCapabilities() *ProxyCapabilities {
|
|
if x != nil {
|
|
return x.Capabilities
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SyncMappingsAck is sent by the proxy after it has fully processed a batch.
|
|
// Management waits for this before sending the next batch.
|
|
type SyncMappingsAck struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
}
|
|
|
|
func (x *SyncMappingsAck) Reset() {
|
|
*x = SyncMappingsAck{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[30]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SyncMappingsAck) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SyncMappingsAck) ProtoMessage() {}
|
|
|
|
func (x *SyncMappingsAck) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[30]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SyncMappingsAck.ProtoReflect.Descriptor instead.
|
|
func (*SyncMappingsAck) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{30}
|
|
}
|
|
|
|
// SyncMappingsResponse is a batch of mappings sent by management.
|
|
// Identical semantics to GetMappingUpdateResponse.
|
|
type SyncMappingsResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Mapping []*ProxyMapping `protobuf:"bytes,1,rep,name=mapping,proto3" json:"mapping,omitempty"`
|
|
// initial_sync_complete is set on the last message of the initial snapshot.
|
|
InitialSyncComplete bool `protobuf:"varint,2,opt,name=initial_sync_complete,json=initialSyncComplete,proto3" json:"initial_sync_complete,omitempty"`
|
|
}
|
|
|
|
func (x *SyncMappingsResponse) Reset() {
|
|
*x = SyncMappingsResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_proxy_service_proto_msgTypes[31]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SyncMappingsResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SyncMappingsResponse) ProtoMessage() {}
|
|
|
|
func (x *SyncMappingsResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_proxy_service_proto_msgTypes[31]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SyncMappingsResponse.ProtoReflect.Descriptor instead.
|
|
func (*SyncMappingsResponse) Descriptor() ([]byte, []int) {
|
|
return file_proxy_service_proto_rawDescGZIP(), []int{31}
|
|
}
|
|
|
|
func (x *SyncMappingsResponse) GetMapping() []*ProxyMapping {
|
|
if x != nil {
|
|
return x.Mapping
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SyncMappingsResponse) GetInitialSyncComplete() bool {
|
|
if x != nil {
|
|
return x.InitialSyncComplete
|
|
}
|
|
return false
|
|
}
|
|
|
|
var File_proxy_service_proto protoreflect.FileDescriptor
|
|
|
|
var file_proxy_service_proto_rawDesc = []byte{
|
|
0x0a, 0x13, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
|
|
0x74, 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, 0x1f, 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, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x22, 0xfd, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x61, 0x70, 0x61,
|
|
0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x75, 0x70, 0x70,
|
|
0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x72, 0x74,
|
|
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f,
|
|
0x72, 0x74, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01,
|
|
0x01, 0x12, 0x30, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62,
|
|
0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10,
|
|
0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x53, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
|
|
0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f,
|
|
0x63, 0x72, 0x6f, 0x77, 0x64, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02,
|
|
0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x73,
|
|
0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
|
0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
|
|
0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
|
|
0x74, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
|
0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
|
|
0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x14, 0x0a,
|
|
0x12, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x6f, 0x6d,
|
|
0x61, 0x69, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
|
|
0x5f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x73, 0x65, 0x63, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x72,
|
|
0x69, 0x76, 0x61, 0x74, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
|
|
0x74, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
|
|
0x63, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e,
|
|
0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19,
|
|
0x0a, 0x08, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
|
|
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
|
|
0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61,
|
|
0x74, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18,
|
|
0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61,
|
|
0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
|
|
0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x78,
|
|
0x79, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63,
|
|
0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x18,
|
|
0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70,
|
|
0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x61, 0x6e, 0x61,
|
|
0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x61, 0x70, 0x70,
|
|
0x69, 0x6e, 0x67, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15,
|
|
0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d,
|
|
0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x69,
|
|
0x74, 0x69, 0x61, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
|
|
0x22, 0xf7, 0x03, 0x0a, 0x11, 0x50, 0x61, 0x74, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f,
|
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x74,
|
|
0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x0d, 0x73, 0x6b, 0x69, 0x70, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x42,
|
|
0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 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, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f,
|
|
0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69,
|
|
0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67,
|
|
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74,
|
|
0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x77, 0x72, 0x69,
|
|
0x74, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61,
|
|
0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x61, 0x6e,
|
|
0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x61, 0x72, 0x67,
|
|
0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
|
|
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75,
|
|
0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70,
|
|
0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20,
|
|
0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
|
|
0x6f, 0x6c, 0x12, 0x4b, 0x0a, 0x14, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
|
|
0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 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, 0x12, 0x73, 0x65, 0x73,
|
|
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
|
|
0x27, 0x0a, 0x0f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65,
|
|
0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
|
|
0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74,
|
|
0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x72, 0x0a, 0x0b, 0x50, 0x61,
|
|
0x74, 0x68, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74,
|
|
0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a,
|
|
0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
|
|
0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
|
|
0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x47,
|
|
0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06,
|
|
0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65,
|
|
0x61, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x76,
|
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x68,
|
|
0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68,
|
|
0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65,
|
|
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x17, 0x6d,
|
|
0x61, 0x78, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73,
|
|
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6d, 0x61,
|
|
0x78, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e,
|
|
0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03,
|
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x10,
|
|
0x0a, 0x03, 0x70, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x70, 0x69, 0x6e,
|
|
0x12, 0x12, 0x0a, 0x04, 0x6f, 0x69, 0x64, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
|
|
0x6f, 0x69, 0x64, 0x63, 0x12, 0x39, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61,
|
|
0x75, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e,
|
|
0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x75,
|
|
0x74, 0x68, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x73, 0x22,
|
|
0xdd, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69,
|
|
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
|
|
0x64, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61,
|
|
0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x69, 0x64, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62,
|
|
0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03,
|
|
0x28, 0x09, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x69, 0x64, 0x72, 0x73,
|
|
0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
|
|
0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c,
|
|
0x6f, 0x77, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2b, 0x0a,
|
|
0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69,
|
|
0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
|
|
0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72,
|
|
0x6f, 0x77, 0x64, 0x73, 0x65, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x73, 0x65, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x22,
|
|
0x80, 0x04, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
|
|
0x12, 0x36, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
|
|
0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x78,
|
|
0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79,
|
|
0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
|
|
0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
|
|
0x2b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
|
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d,
|
|
0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a,
|
|
0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2e, 0x0a, 0x04, 0x61,
|
|
0x75, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x61, 0x6e, 0x61,
|
|
0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
|
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x70,
|
|
0x61, 0x73, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
|
|
0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x48,
|
|
0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65,
|
|
0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
|
|
0x52, 0x10, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
|
|
0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
|
|
0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73,
|
|
0x74, 0x65, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x65, 0x73,
|
|
0x73, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
|
|
0x74, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x74,
|
|
0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76,
|
|
0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61,
|
|
0x74, 0x65, 0x22, 0x3f, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
|
|
0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x6c, 0x6f,
|
|
0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
|
|
0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x03,
|
|
0x6c, 0x6f, 0x67, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73,
|
|
0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x05, 0x0a,
|
|
0x09, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69,
|
|
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
|
|
0x74, 0x61, 0x6d, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61,
|
|
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65,
|
|
0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
|
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73,
|
|
0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a,
|
|
0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
|
|
0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73,
|
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x4d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
|
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
|
|
0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
|
0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x25, 0x0a, 0x0e,
|
|
0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x18, 0x0b,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
|
|
0x69, 0x73, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c,
|
|
0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01,
|
|
0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
|
|
0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18,
|
|
0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x55, 0x70, 0x6c, 0x6f,
|
|
0x61, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e,
|
|
0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x62, 0x79, 0x74, 0x65,
|
|
0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
|
|
0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x2e, 0x4d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65,
|
|
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
|
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
|
|
0x02, 0x38, 0x01, 0x22, 0xf8, 0x01, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
|
|
0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
|
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61,
|
|
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x61,
|
|
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d,
|
|
0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
|
0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x73,
|
|
0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x03, 0x70, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
|
|
0x50, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x03, 0x70, 0x69,
|
|
0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68,
|
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
|
|
0x65, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65,
|
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41,
|
|
0x75, 0x74, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57,
|
|
0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75,
|
|
0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61,
|
|
0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65,
|
|
0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
|
|
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x61,
|
|
0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x0f, 0x50, 0x61, 0x73, 0x73, 0x77,
|
|
0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
|
|
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61,
|
|
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x1e, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x52, 0x65, 0x71,
|
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x22, 0x55, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e,
|
|
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
|
|
0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73,
|
|
0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xda, 0x02,
|
|
0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61,
|
|
0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72,
|
|
0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73,
|
|
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
|
|
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
|
|
0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
|
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74,
|
|
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x18, 0x04,
|
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
|
|
0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72,
|
|
0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
|
|
0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01,
|
|
0x01, 0x12, 0x50, 0x0a, 0x10, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73,
|
|
0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x61,
|
|
0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6e,
|
|
0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x48, 0x01, 0x52,
|
|
0x0f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72,
|
|
0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65,
|
|
0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
|
|
0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x22, 0x6f, 0x0a, 0x14, 0x50, 0x72,
|
|
0x6f, 0x78, 0x79, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
|
|
0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x70, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x70, 0x12,
|
|
0x1d, 0x0a, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1b,
|
|
0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x0d, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x53,
|
|
0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
|
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61,
|
|
0x74, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49,
|
|
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64,
|
|
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x69, 0x72, 0x65, 0x67, 0x75,
|
|
0x61, 0x72, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x77, 0x69, 0x72, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x50,
|
|
0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73,
|
|
0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
|
0x65, 0x72, 0x22, 0x6f, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x78,
|
|
0x79, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
|
|
0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
|
|
0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72,
|
|
0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
|
|
0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01,
|
|
0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73,
|
|
0x61, 0x67, 0x65, 0x22, 0x65, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x55, 0x52,
|
|
0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72,
|
|
0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72,
|
|
0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x6c, 0x22, 0x26, 0x0a, 0x12, 0x47, 0x65,
|
|
0x74, 0x4f, 0x49, 0x44, 0x43, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
|
0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
|
|
0x72, 0x6c, 0x22, 0x55, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
|
|
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
|
0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f,
|
|
0x6d, 0x61, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
|
|
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73,
|
|
0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdc, 0x01, 0x0a, 0x17, 0x56, 0x61,
|
|
0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
|
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75,
|
|
0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73,
|
|
0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61,
|
|
0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d,
|
|
0x61, 0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x65,
|
|
0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x69,
|
|
0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x65, 0x65, 0x72,
|
|
0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
|
|
0x52, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x73, 0x12, 0x28,
|
|
0x0a, 0x10, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72,
|
|
0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x69,
|
|
0x64, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65,
|
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f,
|
|
0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c,
|
|
0x49, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x84, 0x02, 0x0a, 0x1a, 0x56,
|
|
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x65,
|
|
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12,
|
|
0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72,
|
|
0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73,
|
|
0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65,
|
|
0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
|
|
0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d,
|
|
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65,
|
|
0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
|
|
0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x47,
|
|
0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x65, 0x65, 0x72, 0x5f,
|
|
0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
|
|
0x09, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65,
|
|
0x73, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e,
|
|
0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x69, 0x6e, 0x69,
|
|
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
|
|
0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
|
|
0x73, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x2f, 0x0a,
|
|
0x03, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x6e,
|
|
0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x61, 0x70, 0x70,
|
|
0x69, 0x6e, 0x67, 0x73, 0x41, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6b, 0x42, 0x05,
|
|
0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xdf, 0x01, 0x0a, 0x10, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x61,
|
|
0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x72,
|
|
0x6f, 0x78, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72,
|
|
0x6f, 0x78, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
|
0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 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,
|
|
0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64,
|
|
0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64,
|
|
0x72, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69,
|
|
0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x6e,
|
|
0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x61, 0x70,
|
|
0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62,
|
|
0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x63, 0x4d,
|
|
0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x41, 0x63, 0x6b, 0x22, 0x7e, 0x0a, 0x14, 0x53, 0x79,
|
|
0x6e, 0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
|
0x73, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
|
|
0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6d,
|
|
0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
|
|
0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x79,
|
|
0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x2a, 0x64, 0x0a, 0x16, 0x50, 0x72,
|
|
0x6f, 0x78, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
|
0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54,
|
|
0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a,
|
|
0x14, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x4f, 0x44,
|
|
0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54,
|
|
0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x02,
|
|
0x2a, 0x46, 0x0a, 0x0f, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d,
|
|
0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x57, 0x52,
|
|
0x49, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x19, 0x0a,
|
|
0x15, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x50, 0x52,
|
|
0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0x01, 0x2a, 0xc8, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f,
|
|
0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x58,
|
|
0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47,
|
|
0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54,
|
|
0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x50,
|
|
0x52, 0x4f, 0x58, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x55, 0x4e, 0x4e,
|
|
0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02,
|
|
0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
|
|
0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e,
|
|
0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f,
|
|
0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,
|
|
0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x50,
|
|
0x52, 0x4f, 0x58, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f,
|
|
0x52, 0x10, 0x05, 0x32, 0xb8, 0x06, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x72,
|
|
0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69,
|
|
0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67,
|
|
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
|
|
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e,
|
|
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61,
|
|
0x70, 0x70, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
|
0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x61, 0x70,
|
|
0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65,
|
|
0x6e, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52,
|
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
|
|
0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73,
|
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x54, 0x0a, 0x0d,
|
|
0x53, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x20, 0x2e,
|
|
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x41,
|
|
0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
|
0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e,
|
|
0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
|
0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
|
|
0x74, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
|
|
0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
|
|
0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
|
|
0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
|
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61,
|
|
0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61,
|
|
0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75,
|
|
0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
|
|
0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64,
|
|
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
|
|
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72,
|
|
0x6f, 0x78, 0x79, 0x50, 0x65, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
|
|
0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79,
|
|
0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61,
|
|
0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
|
|
0x72, 0x6f, 0x78, 0x79, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
|
0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4f, 0x49, 0x44, 0x43, 0x55, 0x52, 0x4c, 0x12, 0x1d,
|
|
0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f,
|
|
0x49, 0x44, 0x43, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
|
|
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x49,
|
|
0x44, 0x43, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a,
|
|
0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
|
0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61,
|
|
0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
|
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
|
|
0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
|
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x56, 0x61, 0x6c,
|
|
0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x65, 0x72, 0x12,
|
|
0x25, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c,
|
|
0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x65, 0x72, 0x52,
|
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
|
|
0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e,
|
|
0x65, 0x6c, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x08,
|
|
0x5a, 0x06, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_proxy_service_proto_rawDescOnce sync.Once
|
|
file_proxy_service_proto_rawDescData = file_proxy_service_proto_rawDesc
|
|
)
|
|
|
|
func file_proxy_service_proto_rawDescGZIP() []byte {
|
|
file_proxy_service_proto_rawDescOnce.Do(func() {
|
|
file_proxy_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_proxy_service_proto_rawDescData)
|
|
})
|
|
return file_proxy_service_proto_rawDescData
|
|
}
|
|
|
|
var file_proxy_service_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
|
var file_proxy_service_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
|
|
var file_proxy_service_proto_goTypes = []interface{}{
|
|
(ProxyMappingUpdateType)(0), // 0: management.ProxyMappingUpdateType
|
|
(PathRewriteMode)(0), // 1: management.PathRewriteMode
|
|
(ProxyStatus)(0), // 2: management.ProxyStatus
|
|
(*ProxyCapabilities)(nil), // 3: management.ProxyCapabilities
|
|
(*GetMappingUpdateRequest)(nil), // 4: management.GetMappingUpdateRequest
|
|
(*GetMappingUpdateResponse)(nil), // 5: management.GetMappingUpdateResponse
|
|
(*PathTargetOptions)(nil), // 6: management.PathTargetOptions
|
|
(*PathMapping)(nil), // 7: management.PathMapping
|
|
(*HeaderAuth)(nil), // 8: management.HeaderAuth
|
|
(*Authentication)(nil), // 9: management.Authentication
|
|
(*AccessRestrictions)(nil), // 10: management.AccessRestrictions
|
|
(*ProxyMapping)(nil), // 11: management.ProxyMapping
|
|
(*SendAccessLogRequest)(nil), // 12: management.SendAccessLogRequest
|
|
(*SendAccessLogResponse)(nil), // 13: management.SendAccessLogResponse
|
|
(*AccessLog)(nil), // 14: management.AccessLog
|
|
(*AuthenticateRequest)(nil), // 15: management.AuthenticateRequest
|
|
(*HeaderAuthRequest)(nil), // 16: management.HeaderAuthRequest
|
|
(*PasswordRequest)(nil), // 17: management.PasswordRequest
|
|
(*PinRequest)(nil), // 18: management.PinRequest
|
|
(*AuthenticateResponse)(nil), // 19: management.AuthenticateResponse
|
|
(*SendStatusUpdateRequest)(nil), // 20: management.SendStatusUpdateRequest
|
|
(*ProxyInboundListener)(nil), // 21: management.ProxyInboundListener
|
|
(*SendStatusUpdateResponse)(nil), // 22: management.SendStatusUpdateResponse
|
|
(*CreateProxyPeerRequest)(nil), // 23: management.CreateProxyPeerRequest
|
|
(*CreateProxyPeerResponse)(nil), // 24: management.CreateProxyPeerResponse
|
|
(*GetOIDCURLRequest)(nil), // 25: management.GetOIDCURLRequest
|
|
(*GetOIDCURLResponse)(nil), // 26: management.GetOIDCURLResponse
|
|
(*ValidateSessionRequest)(nil), // 27: management.ValidateSessionRequest
|
|
(*ValidateSessionResponse)(nil), // 28: management.ValidateSessionResponse
|
|
(*ValidateTunnelPeerRequest)(nil), // 29: management.ValidateTunnelPeerRequest
|
|
(*ValidateTunnelPeerResponse)(nil), // 30: management.ValidateTunnelPeerResponse
|
|
(*SyncMappingsRequest)(nil), // 31: management.SyncMappingsRequest
|
|
(*SyncMappingsInit)(nil), // 32: management.SyncMappingsInit
|
|
(*SyncMappingsAck)(nil), // 33: management.SyncMappingsAck
|
|
(*SyncMappingsResponse)(nil), // 34: management.SyncMappingsResponse
|
|
nil, // 35: management.PathTargetOptions.CustomHeadersEntry
|
|
nil, // 36: management.AccessLog.MetadataEntry
|
|
(*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp
|
|
(*durationpb.Duration)(nil), // 38: google.protobuf.Duration
|
|
}
|
|
var file_proxy_service_proto_depIdxs = []int32{
|
|
37, // 0: management.GetMappingUpdateRequest.started_at:type_name -> google.protobuf.Timestamp
|
|
3, // 1: management.GetMappingUpdateRequest.capabilities:type_name -> management.ProxyCapabilities
|
|
11, // 2: management.GetMappingUpdateResponse.mapping:type_name -> management.ProxyMapping
|
|
38, // 3: management.PathTargetOptions.request_timeout:type_name -> google.protobuf.Duration
|
|
1, // 4: management.PathTargetOptions.path_rewrite:type_name -> management.PathRewriteMode
|
|
35, // 5: management.PathTargetOptions.custom_headers:type_name -> management.PathTargetOptions.CustomHeadersEntry
|
|
38, // 6: management.PathTargetOptions.session_idle_timeout:type_name -> google.protobuf.Duration
|
|
6, // 7: management.PathMapping.options:type_name -> management.PathTargetOptions
|
|
8, // 8: management.Authentication.header_auths:type_name -> management.HeaderAuth
|
|
0, // 9: management.ProxyMapping.type:type_name -> management.ProxyMappingUpdateType
|
|
7, // 10: management.ProxyMapping.path:type_name -> management.PathMapping
|
|
9, // 11: management.ProxyMapping.auth:type_name -> management.Authentication
|
|
10, // 12: management.ProxyMapping.access_restrictions:type_name -> management.AccessRestrictions
|
|
14, // 13: management.SendAccessLogRequest.log:type_name -> management.AccessLog
|
|
37, // 14: management.AccessLog.timestamp:type_name -> google.protobuf.Timestamp
|
|
36, // 15: management.AccessLog.metadata:type_name -> management.AccessLog.MetadataEntry
|
|
17, // 16: management.AuthenticateRequest.password:type_name -> management.PasswordRequest
|
|
18, // 17: management.AuthenticateRequest.pin:type_name -> management.PinRequest
|
|
16, // 18: management.AuthenticateRequest.header_auth:type_name -> management.HeaderAuthRequest
|
|
2, // 19: management.SendStatusUpdateRequest.status:type_name -> management.ProxyStatus
|
|
21, // 20: management.SendStatusUpdateRequest.inbound_listener:type_name -> management.ProxyInboundListener
|
|
32, // 21: management.SyncMappingsRequest.init:type_name -> management.SyncMappingsInit
|
|
33, // 22: management.SyncMappingsRequest.ack:type_name -> management.SyncMappingsAck
|
|
37, // 23: management.SyncMappingsInit.started_at:type_name -> google.protobuf.Timestamp
|
|
3, // 24: management.SyncMappingsInit.capabilities:type_name -> management.ProxyCapabilities
|
|
11, // 25: management.SyncMappingsResponse.mapping:type_name -> management.ProxyMapping
|
|
4, // 26: management.ProxyService.GetMappingUpdate:input_type -> management.GetMappingUpdateRequest
|
|
31, // 27: management.ProxyService.SyncMappings:input_type -> management.SyncMappingsRequest
|
|
12, // 28: management.ProxyService.SendAccessLog:input_type -> management.SendAccessLogRequest
|
|
15, // 29: management.ProxyService.Authenticate:input_type -> management.AuthenticateRequest
|
|
20, // 30: management.ProxyService.SendStatusUpdate:input_type -> management.SendStatusUpdateRequest
|
|
23, // 31: management.ProxyService.CreateProxyPeer:input_type -> management.CreateProxyPeerRequest
|
|
25, // 32: management.ProxyService.GetOIDCURL:input_type -> management.GetOIDCURLRequest
|
|
27, // 33: management.ProxyService.ValidateSession:input_type -> management.ValidateSessionRequest
|
|
29, // 34: management.ProxyService.ValidateTunnelPeer:input_type -> management.ValidateTunnelPeerRequest
|
|
5, // 35: management.ProxyService.GetMappingUpdate:output_type -> management.GetMappingUpdateResponse
|
|
34, // 36: management.ProxyService.SyncMappings:output_type -> management.SyncMappingsResponse
|
|
13, // 37: management.ProxyService.SendAccessLog:output_type -> management.SendAccessLogResponse
|
|
19, // 38: management.ProxyService.Authenticate:output_type -> management.AuthenticateResponse
|
|
22, // 39: management.ProxyService.SendStatusUpdate:output_type -> management.SendStatusUpdateResponse
|
|
24, // 40: management.ProxyService.CreateProxyPeer:output_type -> management.CreateProxyPeerResponse
|
|
26, // 41: management.ProxyService.GetOIDCURL:output_type -> management.GetOIDCURLResponse
|
|
28, // 42: management.ProxyService.ValidateSession:output_type -> management.ValidateSessionResponse
|
|
30, // 43: management.ProxyService.ValidateTunnelPeer:output_type -> management.ValidateTunnelPeerResponse
|
|
35, // [35:44] is the sub-list for method output_type
|
|
26, // [26:35] is the sub-list for method input_type
|
|
26, // [26:26] is the sub-list for extension type_name
|
|
26, // [26:26] is the sub-list for extension extendee
|
|
0, // [0:26] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_proxy_service_proto_init() }
|
|
func file_proxy_service_proto_init() {
|
|
if File_proxy_service_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_proxy_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ProxyCapabilities); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GetMappingUpdateRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GetMappingUpdateResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PathTargetOptions); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PathMapping); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*HeaderAuth); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Authentication); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccessRestrictions); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ProxyMapping); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SendAccessLogRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SendAccessLogResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AccessLog); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*HeaderAuthRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PasswordRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PinRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AuthenticateResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SendStatusUpdateRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ProxyInboundListener); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SendStatusUpdateResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*CreateProxyPeerRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*CreateProxyPeerResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GetOIDCURLRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*GetOIDCURLResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidateSessionRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidateSessionResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidateTunnelPeerRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ValidateTunnelPeerResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SyncMappingsRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SyncMappingsInit); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SyncMappingsAck); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SyncMappingsResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
file_proxy_service_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
|
file_proxy_service_proto_msgTypes[12].OneofWrappers = []interface{}{
|
|
(*AuthenticateRequest_Password)(nil),
|
|
(*AuthenticateRequest_Pin)(nil),
|
|
(*AuthenticateRequest_HeaderAuth)(nil),
|
|
}
|
|
file_proxy_service_proto_msgTypes[17].OneofWrappers = []interface{}{}
|
|
file_proxy_service_proto_msgTypes[21].OneofWrappers = []interface{}{}
|
|
file_proxy_service_proto_msgTypes[28].OneofWrappers = []interface{}{
|
|
(*SyncMappingsRequest_Init)(nil),
|
|
(*SyncMappingsRequest_Ack)(nil),
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_proxy_service_proto_rawDesc,
|
|
NumEnums: 3,
|
|
NumMessages: 34,
|
|
NumExtensions: 0,
|
|
NumServices: 1,
|
|
},
|
|
GoTypes: file_proxy_service_proto_goTypes,
|
|
DependencyIndexes: file_proxy_service_proto_depIdxs,
|
|
EnumInfos: file_proxy_service_proto_enumTypes,
|
|
MessageInfos: file_proxy_service_proto_msgTypes,
|
|
}.Build()
|
|
File_proxy_service_proto = out.File
|
|
file_proxy_service_proto_rawDesc = nil
|
|
file_proxy_service_proto_goTypes = nil
|
|
file_proxy_service_proto_depIdxs = nil
|
|
}
|