// Code generated by protoc-gen-go. DO NOT EDIT. // source: public.proto /* Package public is a generated protocol buffer package. It is generated from these files: public.proto It has these top-level messages: Empty VersionInfo ListPodsResponse Pod TapRequest TapByResourceRequest ApiError Resource ResourceSelection ResourceError StatSummaryRequest StatSummaryResponse BasicStats StatTable */ package public import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import google_protobuf "github.com/golang/protobuf/ptypes/duration" import conduit_common "github.com/runconduit/conduit/controller/gen/common" import conduit_common_healthcheck "github.com/runconduit/conduit/controller/gen/common/healthcheck" import ( context "golang.org/x/net/context" grpc "google.golang.org/grpc" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type Empty struct { } func (m *Empty) Reset() { *m = Empty{} } func (m *Empty) String() string { return proto.CompactTextString(m) } func (*Empty) ProtoMessage() {} func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } type VersionInfo struct { GoVersion string `protobuf:"bytes,1,opt,name=goVersion" json:"goVersion,omitempty"` BuildDate string `protobuf:"bytes,2,opt,name=buildDate" json:"buildDate,omitempty"` ReleaseVersion string `protobuf:"bytes,3,opt,name=releaseVersion" json:"releaseVersion,omitempty"` } func (m *VersionInfo) Reset() { *m = VersionInfo{} } func (m *VersionInfo) String() string { return proto.CompactTextString(m) } func (*VersionInfo) ProtoMessage() {} func (*VersionInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } func (m *VersionInfo) GetGoVersion() string { if m != nil { return m.GoVersion } return "" } func (m *VersionInfo) GetBuildDate() string { if m != nil { return m.BuildDate } return "" } func (m *VersionInfo) GetReleaseVersion() string { if m != nil { return m.ReleaseVersion } return "" } type ListPodsResponse struct { Pods []*Pod `protobuf:"bytes,1,rep,name=pods" json:"pods,omitempty"` } func (m *ListPodsResponse) Reset() { *m = ListPodsResponse{} } func (m *ListPodsResponse) String() string { return proto.CompactTextString(m) } func (*ListPodsResponse) ProtoMessage() {} func (*ListPodsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (m *ListPodsResponse) GetPods() []*Pod { if m != nil { return m.Pods } return nil } type Pod struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` PodIP string `protobuf:"bytes,2,opt,name=podIP" json:"podIP,omitempty"` Deployment string `protobuf:"bytes,3,opt,name=deployment" json:"deployment,omitempty"` Status string `protobuf:"bytes,4,opt,name=status" json:"status,omitempty"` Added bool `protobuf:"varint,5,opt,name=added" json:"added,omitempty"` SinceLastReport *google_protobuf.Duration `protobuf:"bytes,6,opt,name=sinceLastReport" json:"sinceLastReport,omitempty"` ControllerNamespace string `protobuf:"bytes,7,opt,name=controllerNamespace" json:"controllerNamespace,omitempty"` ControlPlane bool `protobuf:"varint,8,opt,name=controlPlane" json:"controlPlane,omitempty"` } func (m *Pod) Reset() { *m = Pod{} } func (m *Pod) String() string { return proto.CompactTextString(m) } func (*Pod) ProtoMessage() {} func (*Pod) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (m *Pod) GetName() string { if m != nil { return m.Name } return "" } func (m *Pod) GetPodIP() string { if m != nil { return m.PodIP } return "" } func (m *Pod) GetDeployment() string { if m != nil { return m.Deployment } return "" } func (m *Pod) GetStatus() string { if m != nil { return m.Status } return "" } func (m *Pod) GetAdded() bool { if m != nil { return m.Added } return false } func (m *Pod) GetSinceLastReport() *google_protobuf.Duration { if m != nil { return m.SinceLastReport } return nil } func (m *Pod) GetControllerNamespace() string { if m != nil { return m.ControllerNamespace } return "" } func (m *Pod) GetControlPlane() bool { if m != nil { return m.ControlPlane } return false } type TapRequest struct { // Types that are valid to be assigned to Target: // *TapRequest_Pod // *TapRequest_Deployment Target isTapRequest_Target `protobuf_oneof:"target"` // validation of these fields happens on the server MaxRps float32 `protobuf:"fixed32,3,opt,name=maxRps" json:"maxRps,omitempty"` ToPort uint32 `protobuf:"varint,4,opt,name=toPort" json:"toPort,omitempty"` ToIP string `protobuf:"bytes,5,opt,name=toIP" json:"toIP,omitempty"` FromPort uint32 `protobuf:"varint,6,opt,name=fromPort" json:"fromPort,omitempty"` FromIP string `protobuf:"bytes,7,opt,name=fromIP" json:"fromIP,omitempty"` Scheme string `protobuf:"bytes,8,opt,name=scheme" json:"scheme,omitempty"` Method string `protobuf:"bytes,9,opt,name=method" json:"method,omitempty"` Authority string `protobuf:"bytes,10,opt,name=authority" json:"authority,omitempty"` Path string `protobuf:"bytes,11,opt,name=path" json:"path,omitempty"` } func (m *TapRequest) Reset() { *m = TapRequest{} } func (m *TapRequest) String() string { return proto.CompactTextString(m) } func (*TapRequest) ProtoMessage() {} func (*TapRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } type isTapRequest_Target interface{ isTapRequest_Target() } type TapRequest_Pod struct { Pod string `protobuf:"bytes,1,opt,name=pod,oneof"` } type TapRequest_Deployment struct { Deployment string `protobuf:"bytes,2,opt,name=deployment,oneof"` } func (*TapRequest_Pod) isTapRequest_Target() {} func (*TapRequest_Deployment) isTapRequest_Target() {} func (m *TapRequest) GetTarget() isTapRequest_Target { if m != nil { return m.Target } return nil } func (m *TapRequest) GetPod() string { if x, ok := m.GetTarget().(*TapRequest_Pod); ok { return x.Pod } return "" } func (m *TapRequest) GetDeployment() string { if x, ok := m.GetTarget().(*TapRequest_Deployment); ok { return x.Deployment } return "" } func (m *TapRequest) GetMaxRps() float32 { if m != nil { return m.MaxRps } return 0 } func (m *TapRequest) GetToPort() uint32 { if m != nil { return m.ToPort } return 0 } func (m *TapRequest) GetToIP() string { if m != nil { return m.ToIP } return "" } func (m *TapRequest) GetFromPort() uint32 { if m != nil { return m.FromPort } return 0 } func (m *TapRequest) GetFromIP() string { if m != nil { return m.FromIP } return "" } func (m *TapRequest) GetScheme() string { if m != nil { return m.Scheme } return "" } func (m *TapRequest) GetMethod() string { if m != nil { return m.Method } return "" } func (m *TapRequest) GetAuthority() string { if m != nil { return m.Authority } return "" } func (m *TapRequest) GetPath() string { if m != nil { return m.Path } return "" } // XXX_OneofFuncs is for the internal use of the proto package. func (*TapRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _TapRequest_OneofMarshaler, _TapRequest_OneofUnmarshaler, _TapRequest_OneofSizer, []interface{}{ (*TapRequest_Pod)(nil), (*TapRequest_Deployment)(nil), } } func _TapRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { m := msg.(*TapRequest) // target switch x := m.Target.(type) { case *TapRequest_Pod: b.EncodeVarint(1<<3 | proto.WireBytes) b.EncodeStringBytes(x.Pod) case *TapRequest_Deployment: b.EncodeVarint(2<<3 | proto.WireBytes) b.EncodeStringBytes(x.Deployment) case nil: default: return fmt.Errorf("TapRequest.Target has unexpected type %T", x) } return nil } func _TapRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*TapRequest) switch tag { case 1: // target.pod if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } x, err := b.DecodeStringBytes() m.Target = &TapRequest_Pod{x} return true, err case 2: // target.deployment if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } x, err := b.DecodeStringBytes() m.Target = &TapRequest_Deployment{x} return true, err default: return false, nil } } func _TapRequest_OneofSizer(msg proto.Message) (n int) { m := msg.(*TapRequest) // target switch x := m.Target.(type) { case *TapRequest_Pod: n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Pod))) n += len(x.Pod) case *TapRequest_Deployment: n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Deployment))) n += len(x.Deployment) case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) } return n } // A tap request over kubernetes resources. type TapByResourceRequest struct { // Describes the kubernetes pods that should be tapped. Target *ResourceSelection `protobuf:"bytes,1,opt,name=target" json:"target,omitempty"` // Selects over events to be reported. Match *TapByResourceRequest_Match `protobuf:"bytes,2,opt,name=match" json:"match,omitempty"` // Limits the number of events to be inspected. MaxRps float32 `protobuf:"fixed32,3,opt,name=maxRps" json:"maxRps,omitempty"` } func (m *TapByResourceRequest) Reset() { *m = TapByResourceRequest{} } func (m *TapByResourceRequest) String() string { return proto.CompactTextString(m) } func (*TapByResourceRequest) ProtoMessage() {} func (*TapByResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (m *TapByResourceRequest) GetTarget() *ResourceSelection { if m != nil { return m.Target } return nil } func (m *TapByResourceRequest) GetMatch() *TapByResourceRequest_Match { if m != nil { return m.Match } return nil } func (m *TapByResourceRequest) GetMaxRps() float32 { if m != nil { return m.MaxRps } return 0 } type TapByResourceRequest_Match struct { // Types that are valid to be assigned to Match: // *TapByResourceRequest_Match_All // *TapByResourceRequest_Match_Any // *TapByResourceRequest_Match_Not // *TapByResourceRequest_Match_Destinations // *TapByResourceRequest_Match_Http_ Match isTapByResourceRequest_Match_Match `protobuf_oneof:"match"` } func (m *TapByResourceRequest_Match) Reset() { *m = TapByResourceRequest_Match{} } func (m *TapByResourceRequest_Match) String() string { return proto.CompactTextString(m) } func (*TapByResourceRequest_Match) ProtoMessage() {} func (*TapByResourceRequest_Match) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5, 0} } type isTapByResourceRequest_Match_Match interface{ isTapByResourceRequest_Match_Match() } type TapByResourceRequest_Match_All struct { All *TapByResourceRequest_Match_Seq `protobuf:"bytes,1,opt,name=all,oneof"` } type TapByResourceRequest_Match_Any struct { Any *TapByResourceRequest_Match_Seq `protobuf:"bytes,2,opt,name=any,oneof"` } type TapByResourceRequest_Match_Not struct { Not *TapByResourceRequest_Match `protobuf:"bytes,3,opt,name=not,oneof"` } type TapByResourceRequest_Match_Destinations struct { Destinations *ResourceSelection `protobuf:"bytes,4,opt,name=destinations,oneof"` } type TapByResourceRequest_Match_Http_ struct { Http *TapByResourceRequest_Match_Http `protobuf:"bytes,5,opt,name=http,oneof"` } func (*TapByResourceRequest_Match_All) isTapByResourceRequest_Match_Match() {} func (*TapByResourceRequest_Match_Any) isTapByResourceRequest_Match_Match() {} func (*TapByResourceRequest_Match_Not) isTapByResourceRequest_Match_Match() {} func (*TapByResourceRequest_Match_Destinations) isTapByResourceRequest_Match_Match() {} func (*TapByResourceRequest_Match_Http_) isTapByResourceRequest_Match_Match() {} func (m *TapByResourceRequest_Match) GetMatch() isTapByResourceRequest_Match_Match { if m != nil { return m.Match } return nil } func (m *TapByResourceRequest_Match) GetAll() *TapByResourceRequest_Match_Seq { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_All); ok { return x.All } return nil } func (m *TapByResourceRequest_Match) GetAny() *TapByResourceRequest_Match_Seq { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Any); ok { return x.Any } return nil } func (m *TapByResourceRequest_Match) GetNot() *TapByResourceRequest_Match { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Not); ok { return x.Not } return nil } func (m *TapByResourceRequest_Match) GetDestinations() *ResourceSelection { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Destinations); ok { return x.Destinations } return nil } func (m *TapByResourceRequest_Match) GetHttp() *TapByResourceRequest_Match_Http { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Http_); ok { return x.Http } return nil } // XXX_OneofFuncs is for the internal use of the proto package. func (*TapByResourceRequest_Match) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _TapByResourceRequest_Match_OneofMarshaler, _TapByResourceRequest_Match_OneofUnmarshaler, _TapByResourceRequest_Match_OneofSizer, []interface{}{ (*TapByResourceRequest_Match_All)(nil), (*TapByResourceRequest_Match_Any)(nil), (*TapByResourceRequest_Match_Not)(nil), (*TapByResourceRequest_Match_Destinations)(nil), (*TapByResourceRequest_Match_Http_)(nil), } } func _TapByResourceRequest_Match_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { m := msg.(*TapByResourceRequest_Match) // match switch x := m.Match.(type) { case *TapByResourceRequest_Match_All: b.EncodeVarint(1<<3 | proto.WireBytes) if err := b.EncodeMessage(x.All); err != nil { return err } case *TapByResourceRequest_Match_Any: b.EncodeVarint(2<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Any); err != nil { return err } case *TapByResourceRequest_Match_Not: b.EncodeVarint(3<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Not); err != nil { return err } case *TapByResourceRequest_Match_Destinations: b.EncodeVarint(4<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Destinations); err != nil { return err } case *TapByResourceRequest_Match_Http_: b.EncodeVarint(5<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Http); err != nil { return err } case nil: default: return fmt.Errorf("TapByResourceRequest_Match.Match has unexpected type %T", x) } return nil } func _TapByResourceRequest_Match_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*TapByResourceRequest_Match) switch tag { case 1: // match.all if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(TapByResourceRequest_Match_Seq) err := b.DecodeMessage(msg) m.Match = &TapByResourceRequest_Match_All{msg} return true, err case 2: // match.any if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(TapByResourceRequest_Match_Seq) err := b.DecodeMessage(msg) m.Match = &TapByResourceRequest_Match_Any{msg} return true, err case 3: // match.not if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(TapByResourceRequest_Match) err := b.DecodeMessage(msg) m.Match = &TapByResourceRequest_Match_Not{msg} return true, err case 4: // match.destinations if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(ResourceSelection) err := b.DecodeMessage(msg) m.Match = &TapByResourceRequest_Match_Destinations{msg} return true, err case 5: // match.http if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(TapByResourceRequest_Match_Http) err := b.DecodeMessage(msg) m.Match = &TapByResourceRequest_Match_Http_{msg} return true, err default: return false, nil } } func _TapByResourceRequest_Match_OneofSizer(msg proto.Message) (n int) { m := msg.(*TapByResourceRequest_Match) // match switch x := m.Match.(type) { case *TapByResourceRequest_Match_All: s := proto.Size(x.All) n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *TapByResourceRequest_Match_Any: s := proto.Size(x.Any) n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *TapByResourceRequest_Match_Not: s := proto.Size(x.Not) n += proto.SizeVarint(3<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *TapByResourceRequest_Match_Destinations: s := proto.Size(x.Destinations) n += proto.SizeVarint(4<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *TapByResourceRequest_Match_Http_: s := proto.Size(x.Http) n += proto.SizeVarint(5<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) } return n } type TapByResourceRequest_Match_Seq struct { Matches []*TapByResourceRequest_Match `protobuf:"bytes,1,rep,name=matches" json:"matches,omitempty"` } func (m *TapByResourceRequest_Match_Seq) Reset() { *m = TapByResourceRequest_Match_Seq{} } func (m *TapByResourceRequest_Match_Seq) String() string { return proto.CompactTextString(m) } func (*TapByResourceRequest_Match_Seq) ProtoMessage() {} func (*TapByResourceRequest_Match_Seq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5, 0, 0} } func (m *TapByResourceRequest_Match_Seq) GetMatches() []*TapByResourceRequest_Match { if m != nil { return m.Matches } return nil } type TapByResourceRequest_Match_Http struct { // Types that are valid to be assigned to Match: // *TapByResourceRequest_Match_Http_Scheme // *TapByResourceRequest_Match_Http_Method // *TapByResourceRequest_Match_Http_Authority // *TapByResourceRequest_Match_Http_Path Match isTapByResourceRequest_Match_Http_Match `protobuf_oneof:"match"` } func (m *TapByResourceRequest_Match_Http) Reset() { *m = TapByResourceRequest_Match_Http{} } func (m *TapByResourceRequest_Match_Http) String() string { return proto.CompactTextString(m) } func (*TapByResourceRequest_Match_Http) ProtoMessage() {} func (*TapByResourceRequest_Match_Http) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5, 0, 1} } type isTapByResourceRequest_Match_Http_Match interface{ isTapByResourceRequest_Match_Http_Match() } type TapByResourceRequest_Match_Http_Scheme struct { Scheme string `protobuf:"bytes,1,opt,name=scheme,oneof"` } type TapByResourceRequest_Match_Http_Method struct { Method string `protobuf:"bytes,2,opt,name=method,oneof"` } type TapByResourceRequest_Match_Http_Authority struct { Authority string `protobuf:"bytes,3,opt,name=authority,oneof"` } type TapByResourceRequest_Match_Http_Path struct { Path string `protobuf:"bytes,4,opt,name=path,oneof"` } func (*TapByResourceRequest_Match_Http_Scheme) isTapByResourceRequest_Match_Http_Match() {} func (*TapByResourceRequest_Match_Http_Method) isTapByResourceRequest_Match_Http_Match() {} func (*TapByResourceRequest_Match_Http_Authority) isTapByResourceRequest_Match_Http_Match() {} func (*TapByResourceRequest_Match_Http_Path) isTapByResourceRequest_Match_Http_Match() {} func (m *TapByResourceRequest_Match_Http) GetMatch() isTapByResourceRequest_Match_Http_Match { if m != nil { return m.Match } return nil } func (m *TapByResourceRequest_Match_Http) GetScheme() string { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Http_Scheme); ok { return x.Scheme } return "" } func (m *TapByResourceRequest_Match_Http) GetMethod() string { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Http_Method); ok { return x.Method } return "" } func (m *TapByResourceRequest_Match_Http) GetAuthority() string { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Http_Authority); ok { return x.Authority } return "" } func (m *TapByResourceRequest_Match_Http) GetPath() string { if x, ok := m.GetMatch().(*TapByResourceRequest_Match_Http_Path); ok { return x.Path } return "" } // XXX_OneofFuncs is for the internal use of the proto package. func (*TapByResourceRequest_Match_Http) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _TapByResourceRequest_Match_Http_OneofMarshaler, _TapByResourceRequest_Match_Http_OneofUnmarshaler, _TapByResourceRequest_Match_Http_OneofSizer, []interface{}{ (*TapByResourceRequest_Match_Http_Scheme)(nil), (*TapByResourceRequest_Match_Http_Method)(nil), (*TapByResourceRequest_Match_Http_Authority)(nil), (*TapByResourceRequest_Match_Http_Path)(nil), } } func _TapByResourceRequest_Match_Http_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { m := msg.(*TapByResourceRequest_Match_Http) // match switch x := m.Match.(type) { case *TapByResourceRequest_Match_Http_Scheme: b.EncodeVarint(1<<3 | proto.WireBytes) b.EncodeStringBytes(x.Scheme) case *TapByResourceRequest_Match_Http_Method: b.EncodeVarint(2<<3 | proto.WireBytes) b.EncodeStringBytes(x.Method) case *TapByResourceRequest_Match_Http_Authority: b.EncodeVarint(3<<3 | proto.WireBytes) b.EncodeStringBytes(x.Authority) case *TapByResourceRequest_Match_Http_Path: b.EncodeVarint(4<<3 | proto.WireBytes) b.EncodeStringBytes(x.Path) case nil: default: return fmt.Errorf("TapByResourceRequest_Match_Http.Match has unexpected type %T", x) } return nil } func _TapByResourceRequest_Match_Http_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*TapByResourceRequest_Match_Http) switch tag { case 1: // match.scheme if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } x, err := b.DecodeStringBytes() m.Match = &TapByResourceRequest_Match_Http_Scheme{x} return true, err case 2: // match.method if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } x, err := b.DecodeStringBytes() m.Match = &TapByResourceRequest_Match_Http_Method{x} return true, err case 3: // match.authority if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } x, err := b.DecodeStringBytes() m.Match = &TapByResourceRequest_Match_Http_Authority{x} return true, err case 4: // match.path if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } x, err := b.DecodeStringBytes() m.Match = &TapByResourceRequest_Match_Http_Path{x} return true, err default: return false, nil } } func _TapByResourceRequest_Match_Http_OneofSizer(msg proto.Message) (n int) { m := msg.(*TapByResourceRequest_Match_Http) // match switch x := m.Match.(type) { case *TapByResourceRequest_Match_Http_Scheme: n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Scheme))) n += len(x.Scheme) case *TapByResourceRequest_Match_Http_Method: n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Method))) n += len(x.Method) case *TapByResourceRequest_Match_Http_Authority: n += proto.SizeVarint(3<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Authority))) n += len(x.Authority) case *TapByResourceRequest_Match_Http_Path: n += proto.SizeVarint(4<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(len(x.Path))) n += len(x.Path) case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) } return n } type ApiError struct { Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` } func (m *ApiError) Reset() { *m = ApiError{} } func (m *ApiError) String() string { return proto.CompactTextString(m) } func (*ApiError) ProtoMessage() {} func (*ApiError) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } func (m *ApiError) GetError() string { if m != nil { return m.Error } return "" } type Resource struct { // The namespace the resource is in. // // If empty, indicates all namespaces should be considered. Namespace string `protobuf:"bytes,1,opt,name=namespace" json:"namespace,omitempty"` // The type of Kubernetes resource. // // E.g. pod, deployment, service, ... // // If `all` refers, to all resource types. Type string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"` // An optional Kubernetes resource name. Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` } func (m *Resource) Reset() { *m = Resource{} } func (m *Resource) String() string { return proto.CompactTextString(m) } func (*Resource) ProtoMessage() {} func (*Resource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } func (m *Resource) GetNamespace() string { if m != nil { return m.Namespace } return "" } func (m *Resource) GetType() string { if m != nil { return m.Type } return "" } func (m *Resource) GetName() string { if m != nil { return m.Name } return "" } type ResourceSelection struct { // Identifies a Kubernetes resource. Resource *Resource `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"` // A string-formatted Kubernetes label selector as passed to `kubectl get // --selector`. // // XXX in the future this may be superceded by a data structure that more // richly describes a parsed label selector. LabelSelector string `protobuf:"bytes,2,opt,name=label_selector,json=labelSelector" json:"label_selector,omitempty"` } func (m *ResourceSelection) Reset() { *m = ResourceSelection{} } func (m *ResourceSelection) String() string { return proto.CompactTextString(m) } func (*ResourceSelection) ProtoMessage() {} func (*ResourceSelection) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (m *ResourceSelection) GetResource() *Resource { if m != nil { return m.Resource } return nil } func (m *ResourceSelection) GetLabelSelector() string { if m != nil { return m.LabelSelector } return "" } type ResourceError struct { Resource *Resource `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"` Error string `protobuf:"bytes,2,opt,name=error" json:"error,omitempty"` } func (m *ResourceError) Reset() { *m = ResourceError{} } func (m *ResourceError) String() string { return proto.CompactTextString(m) } func (*ResourceError) ProtoMessage() {} func (*ResourceError) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } func (m *ResourceError) GetResource() *Resource { if m != nil { return m.Resource } return nil } func (m *ResourceError) GetError() string { if m != nil { return m.Error } return "" } type StatSummaryRequest struct { Selector *ResourceSelection `protobuf:"bytes,1,opt,name=selector" json:"selector,omitempty"` TimeWindow string `protobuf:"bytes,2,opt,name=time_window,json=timeWindow" json:"time_window,omitempty"` // Types that are valid to be assigned to Outbound: // *StatSummaryRequest_None // *StatSummaryRequest_ToResource // *StatSummaryRequest_FromResource Outbound isStatSummaryRequest_Outbound `protobuf_oneof:"outbound"` } func (m *StatSummaryRequest) Reset() { *m = StatSummaryRequest{} } func (m *StatSummaryRequest) String() string { return proto.CompactTextString(m) } func (*StatSummaryRequest) ProtoMessage() {} func (*StatSummaryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } type isStatSummaryRequest_Outbound interface{ isStatSummaryRequest_Outbound() } type StatSummaryRequest_None struct { None *Empty `protobuf:"bytes,3,opt,name=none,oneof"` } type StatSummaryRequest_ToResource struct { ToResource *Resource `protobuf:"bytes,4,opt,name=to_resource,json=toResource,oneof"` } type StatSummaryRequest_FromResource struct { FromResource *Resource `protobuf:"bytes,5,opt,name=from_resource,json=fromResource,oneof"` } func (*StatSummaryRequest_None) isStatSummaryRequest_Outbound() {} func (*StatSummaryRequest_ToResource) isStatSummaryRequest_Outbound() {} func (*StatSummaryRequest_FromResource) isStatSummaryRequest_Outbound() {} func (m *StatSummaryRequest) GetOutbound() isStatSummaryRequest_Outbound { if m != nil { return m.Outbound } return nil } func (m *StatSummaryRequest) GetSelector() *ResourceSelection { if m != nil { return m.Selector } return nil } func (m *StatSummaryRequest) GetTimeWindow() string { if m != nil { return m.TimeWindow } return "" } func (m *StatSummaryRequest) GetNone() *Empty { if x, ok := m.GetOutbound().(*StatSummaryRequest_None); ok { return x.None } return nil } func (m *StatSummaryRequest) GetToResource() *Resource { if x, ok := m.GetOutbound().(*StatSummaryRequest_ToResource); ok { return x.ToResource } return nil } func (m *StatSummaryRequest) GetFromResource() *Resource { if x, ok := m.GetOutbound().(*StatSummaryRequest_FromResource); ok { return x.FromResource } return nil } // XXX_OneofFuncs is for the internal use of the proto package. func (*StatSummaryRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _StatSummaryRequest_OneofMarshaler, _StatSummaryRequest_OneofUnmarshaler, _StatSummaryRequest_OneofSizer, []interface{}{ (*StatSummaryRequest_None)(nil), (*StatSummaryRequest_ToResource)(nil), (*StatSummaryRequest_FromResource)(nil), } } func _StatSummaryRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { m := msg.(*StatSummaryRequest) // outbound switch x := m.Outbound.(type) { case *StatSummaryRequest_None: b.EncodeVarint(3<<3 | proto.WireBytes) if err := b.EncodeMessage(x.None); err != nil { return err } case *StatSummaryRequest_ToResource: b.EncodeVarint(4<<3 | proto.WireBytes) if err := b.EncodeMessage(x.ToResource); err != nil { return err } case *StatSummaryRequest_FromResource: b.EncodeVarint(5<<3 | proto.WireBytes) if err := b.EncodeMessage(x.FromResource); err != nil { return err } case nil: default: return fmt.Errorf("StatSummaryRequest.Outbound has unexpected type %T", x) } return nil } func _StatSummaryRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*StatSummaryRequest) switch tag { case 3: // outbound.none if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(Empty) err := b.DecodeMessage(msg) m.Outbound = &StatSummaryRequest_None{msg} return true, err case 4: // outbound.to_resource if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(Resource) err := b.DecodeMessage(msg) m.Outbound = &StatSummaryRequest_ToResource{msg} return true, err case 5: // outbound.from_resource if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(Resource) err := b.DecodeMessage(msg) m.Outbound = &StatSummaryRequest_FromResource{msg} return true, err default: return false, nil } } func _StatSummaryRequest_OneofSizer(msg proto.Message) (n int) { m := msg.(*StatSummaryRequest) // outbound switch x := m.Outbound.(type) { case *StatSummaryRequest_None: s := proto.Size(x.None) n += proto.SizeVarint(3<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *StatSummaryRequest_ToResource: s := proto.Size(x.ToResource) n += proto.SizeVarint(4<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *StatSummaryRequest_FromResource: s := proto.Size(x.FromResource) n += proto.SizeVarint(5<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) } return n } type StatSummaryResponse struct { // Types that are valid to be assigned to Response: // *StatSummaryResponse_Ok_ // *StatSummaryResponse_Error Response isStatSummaryResponse_Response `protobuf_oneof:"response"` } func (m *StatSummaryResponse) Reset() { *m = StatSummaryResponse{} } func (m *StatSummaryResponse) String() string { return proto.CompactTextString(m) } func (*StatSummaryResponse) ProtoMessage() {} func (*StatSummaryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } type isStatSummaryResponse_Response interface{ isStatSummaryResponse_Response() } type StatSummaryResponse_Ok_ struct { Ok *StatSummaryResponse_Ok `protobuf:"bytes,1,opt,name=ok,oneof"` } type StatSummaryResponse_Error struct { Error *ResourceError `protobuf:"bytes,2,opt,name=error,oneof"` } func (*StatSummaryResponse_Ok_) isStatSummaryResponse_Response() {} func (*StatSummaryResponse_Error) isStatSummaryResponse_Response() {} func (m *StatSummaryResponse) GetResponse() isStatSummaryResponse_Response { if m != nil { return m.Response } return nil } func (m *StatSummaryResponse) GetOk() *StatSummaryResponse_Ok { if x, ok := m.GetResponse().(*StatSummaryResponse_Ok_); ok { return x.Ok } return nil } func (m *StatSummaryResponse) GetError() *ResourceError { if x, ok := m.GetResponse().(*StatSummaryResponse_Error); ok { return x.Error } return nil } // XXX_OneofFuncs is for the internal use of the proto package. func (*StatSummaryResponse) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _StatSummaryResponse_OneofMarshaler, _StatSummaryResponse_OneofUnmarshaler, _StatSummaryResponse_OneofSizer, []interface{}{ (*StatSummaryResponse_Ok_)(nil), (*StatSummaryResponse_Error)(nil), } } func _StatSummaryResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { m := msg.(*StatSummaryResponse) // response switch x := m.Response.(type) { case *StatSummaryResponse_Ok_: b.EncodeVarint(1<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Ok); err != nil { return err } case *StatSummaryResponse_Error: b.EncodeVarint(2<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Error); err != nil { return err } case nil: default: return fmt.Errorf("StatSummaryResponse.Response has unexpected type %T", x) } return nil } func _StatSummaryResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*StatSummaryResponse) switch tag { case 1: // response.ok if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(StatSummaryResponse_Ok) err := b.DecodeMessage(msg) m.Response = &StatSummaryResponse_Ok_{msg} return true, err case 2: // response.error if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(ResourceError) err := b.DecodeMessage(msg) m.Response = &StatSummaryResponse_Error{msg} return true, err default: return false, nil } } func _StatSummaryResponse_OneofSizer(msg proto.Message) (n int) { m := msg.(*StatSummaryResponse) // response switch x := m.Response.(type) { case *StatSummaryResponse_Ok_: s := proto.Size(x.Ok) n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *StatSummaryResponse_Error: s := proto.Size(x.Error) n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) } return n } type StatSummaryResponse_Ok struct { StatTables []*StatTable `protobuf:"bytes,1,rep,name=stat_tables,json=statTables" json:"stat_tables,omitempty"` } func (m *StatSummaryResponse_Ok) Reset() { *m = StatSummaryResponse_Ok{} } func (m *StatSummaryResponse_Ok) String() string { return proto.CompactTextString(m) } func (*StatSummaryResponse_Ok) ProtoMessage() {} func (*StatSummaryResponse_Ok) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} } func (m *StatSummaryResponse_Ok) GetStatTables() []*StatTable { if m != nil { return m.StatTables } return nil } type BasicStats struct { SuccessCount uint64 `protobuf:"varint,1,opt,name=success_count,json=successCount" json:"success_count,omitempty"` FailureCount uint64 `protobuf:"varint,2,opt,name=failure_count,json=failureCount" json:"failure_count,omitempty"` LatencyMsP50 uint64 `protobuf:"varint,3,opt,name=latency_ms_p50,json=latencyMsP50" json:"latency_ms_p50,omitempty"` LatencyMsP95 uint64 `protobuf:"varint,4,opt,name=latency_ms_p95,json=latencyMsP95" json:"latency_ms_p95,omitempty"` LatencyMsP99 uint64 `protobuf:"varint,5,opt,name=latency_ms_p99,json=latencyMsP99" json:"latency_ms_p99,omitempty"` TlsRequestCount uint64 `protobuf:"varint,6,opt,name=tls_request_count,json=tlsRequestCount" json:"tls_request_count,omitempty"` } func (m *BasicStats) Reset() { *m = BasicStats{} } func (m *BasicStats) String() string { return proto.CompactTextString(m) } func (*BasicStats) ProtoMessage() {} func (*BasicStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } func (m *BasicStats) GetSuccessCount() uint64 { if m != nil { return m.SuccessCount } return 0 } func (m *BasicStats) GetFailureCount() uint64 { if m != nil { return m.FailureCount } return 0 } func (m *BasicStats) GetLatencyMsP50() uint64 { if m != nil { return m.LatencyMsP50 } return 0 } func (m *BasicStats) GetLatencyMsP95() uint64 { if m != nil { return m.LatencyMsP95 } return 0 } func (m *BasicStats) GetLatencyMsP99() uint64 { if m != nil { return m.LatencyMsP99 } return 0 } func (m *BasicStats) GetTlsRequestCount() uint64 { if m != nil { return m.TlsRequestCount } return 0 } type StatTable struct { // Types that are valid to be assigned to Table: // *StatTable_PodGroup_ Table isStatTable_Table `protobuf_oneof:"table"` } func (m *StatTable) Reset() { *m = StatTable{} } func (m *StatTable) String() string { return proto.CompactTextString(m) } func (*StatTable) ProtoMessage() {} func (*StatTable) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } type isStatTable_Table interface{ isStatTable_Table() } type StatTable_PodGroup_ struct { PodGroup *StatTable_PodGroup `protobuf:"bytes,1,opt,name=pod_group,json=podGroup,oneof"` } func (*StatTable_PodGroup_) isStatTable_Table() {} func (m *StatTable) GetTable() isStatTable_Table { if m != nil { return m.Table } return nil } func (m *StatTable) GetPodGroup() *StatTable_PodGroup { if x, ok := m.GetTable().(*StatTable_PodGroup_); ok { return x.PodGroup } return nil } // XXX_OneofFuncs is for the internal use of the proto package. func (*StatTable) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _StatTable_OneofMarshaler, _StatTable_OneofUnmarshaler, _StatTable_OneofSizer, []interface{}{ (*StatTable_PodGroup_)(nil), } } func _StatTable_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { m := msg.(*StatTable) // table switch x := m.Table.(type) { case *StatTable_PodGroup_: b.EncodeVarint(1<<3 | proto.WireBytes) if err := b.EncodeMessage(x.PodGroup); err != nil { return err } case nil: default: return fmt.Errorf("StatTable.Table has unexpected type %T", x) } return nil } func _StatTable_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*StatTable) switch tag { case 1: // table.pod_group if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } msg := new(StatTable_PodGroup) err := b.DecodeMessage(msg) m.Table = &StatTable_PodGroup_{msg} return true, err default: return false, nil } } func _StatTable_OneofSizer(msg proto.Message) (n int) { m := msg.(*StatTable) // table switch x := m.Table.(type) { case *StatTable_PodGroup_: s := proto.Size(x.PodGroup) n += proto.SizeVarint(1<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) } return n } type StatTable_PodGroup struct { Rows []*StatTable_PodGroup_Row `protobuf:"bytes,1,rep,name=rows" json:"rows,omitempty"` } func (m *StatTable_PodGroup) Reset() { *m = StatTable_PodGroup{} } func (m *StatTable_PodGroup) String() string { return proto.CompactTextString(m) } func (*StatTable_PodGroup) ProtoMessage() {} func (*StatTable_PodGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13, 0} } func (m *StatTable_PodGroup) GetRows() []*StatTable_PodGroup_Row { if m != nil { return m.Rows } return nil } type StatTable_PodGroup_Row struct { Resource *Resource `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"` TimeWindow string `protobuf:"bytes,2,opt,name=time_window,json=timeWindow" json:"time_window,omitempty"` // number of pending or running pods in this resource that have conduit injected MeshedPodCount uint64 `protobuf:"varint,3,opt,name=meshed_pod_count,json=meshedPodCount" json:"meshed_pod_count,omitempty"` // number of pending or running pods in this resource RunningPodCount uint64 `protobuf:"varint,4,opt,name=running_pod_count,json=runningPodCount" json:"running_pod_count,omitempty"` // number of pods in this resource that have Phase PodFailed FailedPodCount uint64 `protobuf:"varint,6,opt,name=failed_pod_count,json=failedPodCount" json:"failed_pod_count,omitempty"` Stats *BasicStats `protobuf:"bytes,5,opt,name=stats" json:"stats,omitempty"` } func (m *StatTable_PodGroup_Row) Reset() { *m = StatTable_PodGroup_Row{} } func (m *StatTable_PodGroup_Row) String() string { return proto.CompactTextString(m) } func (*StatTable_PodGroup_Row) ProtoMessage() {} func (*StatTable_PodGroup_Row) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13, 0, 0} } func (m *StatTable_PodGroup_Row) GetResource() *Resource { if m != nil { return m.Resource } return nil } func (m *StatTable_PodGroup_Row) GetTimeWindow() string { if m != nil { return m.TimeWindow } return "" } func (m *StatTable_PodGroup_Row) GetMeshedPodCount() uint64 { if m != nil { return m.MeshedPodCount } return 0 } func (m *StatTable_PodGroup_Row) GetRunningPodCount() uint64 { if m != nil { return m.RunningPodCount } return 0 } func (m *StatTable_PodGroup_Row) GetFailedPodCount() uint64 { if m != nil { return m.FailedPodCount } return 0 } func (m *StatTable_PodGroup_Row) GetStats() *BasicStats { if m != nil { return m.Stats } return nil } func init() { proto.RegisterType((*Empty)(nil), "conduit.public.Empty") proto.RegisterType((*VersionInfo)(nil), "conduit.public.VersionInfo") proto.RegisterType((*ListPodsResponse)(nil), "conduit.public.ListPodsResponse") proto.RegisterType((*Pod)(nil), "conduit.public.Pod") proto.RegisterType((*TapRequest)(nil), "conduit.public.TapRequest") proto.RegisterType((*TapByResourceRequest)(nil), "conduit.public.TapByResourceRequest") proto.RegisterType((*TapByResourceRequest_Match)(nil), "conduit.public.TapByResourceRequest.Match") proto.RegisterType((*TapByResourceRequest_Match_Seq)(nil), "conduit.public.TapByResourceRequest.Match.Seq") proto.RegisterType((*TapByResourceRequest_Match_Http)(nil), "conduit.public.TapByResourceRequest.Match.Http") proto.RegisterType((*ApiError)(nil), "conduit.public.ApiError") proto.RegisterType((*Resource)(nil), "conduit.public.Resource") proto.RegisterType((*ResourceSelection)(nil), "conduit.public.ResourceSelection") proto.RegisterType((*ResourceError)(nil), "conduit.public.ResourceError") proto.RegisterType((*StatSummaryRequest)(nil), "conduit.public.StatSummaryRequest") proto.RegisterType((*StatSummaryResponse)(nil), "conduit.public.StatSummaryResponse") proto.RegisterType((*StatSummaryResponse_Ok)(nil), "conduit.public.StatSummaryResponse.Ok") proto.RegisterType((*BasicStats)(nil), "conduit.public.BasicStats") proto.RegisterType((*StatTable)(nil), "conduit.public.StatTable") proto.RegisterType((*StatTable_PodGroup)(nil), "conduit.public.StatTable.PodGroup") proto.RegisterType((*StatTable_PodGroup_Row)(nil), "conduit.public.StatTable.PodGroup.Row") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion4 // Client API for Api service type ApiClient interface { StatSummary(ctx context.Context, in *StatSummaryRequest, opts ...grpc.CallOption) (*StatSummaryResponse, error) ListPods(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListPodsResponse, error) // Superceded by `TapByResource`. Tap(ctx context.Context, in *TapRequest, opts ...grpc.CallOption) (Api_TapClient, error) // Executes tapping over Kubernetes resources. TapByResource(ctx context.Context, in *TapByResourceRequest, opts ...grpc.CallOption) (Api_TapByResourceClient, error) Version(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VersionInfo, error) SelfCheck(ctx context.Context, in *conduit_common_healthcheck.SelfCheckRequest, opts ...grpc.CallOption) (*conduit_common_healthcheck.SelfCheckResponse, error) } type apiClient struct { cc *grpc.ClientConn } func NewApiClient(cc *grpc.ClientConn) ApiClient { return &apiClient{cc} } func (c *apiClient) StatSummary(ctx context.Context, in *StatSummaryRequest, opts ...grpc.CallOption) (*StatSummaryResponse, error) { out := new(StatSummaryResponse) err := grpc.Invoke(ctx, "/conduit.public.Api/StatSummary", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *apiClient) ListPods(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListPodsResponse, error) { out := new(ListPodsResponse) err := grpc.Invoke(ctx, "/conduit.public.Api/ListPods", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *apiClient) Tap(ctx context.Context, in *TapRequest, opts ...grpc.CallOption) (Api_TapClient, error) { stream, err := grpc.NewClientStream(ctx, &_Api_serviceDesc.Streams[0], c.cc, "/conduit.public.Api/Tap", opts...) if err != nil { return nil, err } x := &apiTapClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type Api_TapClient interface { Recv() (*conduit_common.TapEvent, error) grpc.ClientStream } type apiTapClient struct { grpc.ClientStream } func (x *apiTapClient) Recv() (*conduit_common.TapEvent, error) { m := new(conduit_common.TapEvent) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *apiClient) TapByResource(ctx context.Context, in *TapByResourceRequest, opts ...grpc.CallOption) (Api_TapByResourceClient, error) { stream, err := grpc.NewClientStream(ctx, &_Api_serviceDesc.Streams[1], c.cc, "/conduit.public.Api/TapByResource", opts...) if err != nil { return nil, err } x := &apiTapByResourceClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type Api_TapByResourceClient interface { Recv() (*conduit_common.TapEvent, error) grpc.ClientStream } type apiTapByResourceClient struct { grpc.ClientStream } func (x *apiTapByResourceClient) Recv() (*conduit_common.TapEvent, error) { m := new(conduit_common.TapEvent) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *apiClient) Version(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VersionInfo, error) { out := new(VersionInfo) err := grpc.Invoke(ctx, "/conduit.public.Api/Version", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *apiClient) SelfCheck(ctx context.Context, in *conduit_common_healthcheck.SelfCheckRequest, opts ...grpc.CallOption) (*conduit_common_healthcheck.SelfCheckResponse, error) { out := new(conduit_common_healthcheck.SelfCheckResponse) err := grpc.Invoke(ctx, "/conduit.public.Api/SelfCheck", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } // Server API for Api service type ApiServer interface { StatSummary(context.Context, *StatSummaryRequest) (*StatSummaryResponse, error) ListPods(context.Context, *Empty) (*ListPodsResponse, error) // Superceded by `TapByResource`. Tap(*TapRequest, Api_TapServer) error // Executes tapping over Kubernetes resources. TapByResource(*TapByResourceRequest, Api_TapByResourceServer) error Version(context.Context, *Empty) (*VersionInfo, error) SelfCheck(context.Context, *conduit_common_healthcheck.SelfCheckRequest) (*conduit_common_healthcheck.SelfCheckResponse, error) } func RegisterApiServer(s *grpc.Server, srv ApiServer) { s.RegisterService(&_Api_serviceDesc, srv) } func _Api_StatSummary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StatSummaryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ApiServer).StatSummary(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/conduit.public.Api/StatSummary", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ApiServer).StatSummary(ctx, req.(*StatSummaryRequest)) } return interceptor(ctx, in, info, handler) } func _Api_ListPods_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ApiServer).ListPods(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/conduit.public.Api/ListPods", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ApiServer).ListPods(ctx, req.(*Empty)) } return interceptor(ctx, in, info, handler) } func _Api_Tap_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(TapRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(ApiServer).Tap(m, &apiTapServer{stream}) } type Api_TapServer interface { Send(*conduit_common.TapEvent) error grpc.ServerStream } type apiTapServer struct { grpc.ServerStream } func (x *apiTapServer) Send(m *conduit_common.TapEvent) error { return x.ServerStream.SendMsg(m) } func _Api_TapByResource_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(TapByResourceRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(ApiServer).TapByResource(m, &apiTapByResourceServer{stream}) } type Api_TapByResourceServer interface { Send(*conduit_common.TapEvent) error grpc.ServerStream } type apiTapByResourceServer struct { grpc.ServerStream } func (x *apiTapByResourceServer) Send(m *conduit_common.TapEvent) error { return x.ServerStream.SendMsg(m) } func _Api_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ApiServer).Version(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/conduit.public.Api/Version", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ApiServer).Version(ctx, req.(*Empty)) } return interceptor(ctx, in, info, handler) } func _Api_SelfCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(conduit_common_healthcheck.SelfCheckRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ApiServer).SelfCheck(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/conduit.public.Api/SelfCheck", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ApiServer).SelfCheck(ctx, req.(*conduit_common_healthcheck.SelfCheckRequest)) } return interceptor(ctx, in, info, handler) } var _Api_serviceDesc = grpc.ServiceDesc{ ServiceName: "conduit.public.Api", HandlerType: (*ApiServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "StatSummary", Handler: _Api_StatSummary_Handler, }, { MethodName: "ListPods", Handler: _Api_ListPods_Handler, }, { MethodName: "Version", Handler: _Api_Version_Handler, }, { MethodName: "SelfCheck", Handler: _Api_SelfCheck_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "Tap", Handler: _Api_Tap_Handler, ServerStreams: true, }, { StreamName: "TapByResource", Handler: _Api_TapByResource_Handler, ServerStreams: true, }, }, Metadata: "public.proto", } func init() { proto.RegisterFile("public.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ // 1418 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xdd, 0x72, 0x1b, 0xc5, 0x12, 0x96, 0x76, 0x25, 0x5b, 0x6e, 0x49, 0x4e, 0x32, 0xc9, 0x39, 0xb5, 0xd1, 0x39, 0x27, 0x47, 0x6c, 0x42, 0x70, 0x05, 0x90, 0x5c, 0x0a, 0xae, 0xc2, 0x49, 0x41, 0x12, 0x25, 0xae, 0xc8, 0x45, 0x42, 0x54, 0x2b, 0x17, 0x50, 0x70, 0xa1, 0x1a, 0xed, 0x8e, 0xa5, 0xc5, 0xbb, 0x33, 0xeb, 0x9d, 0x59, 0x8c, 0xde, 0x80, 0x2b, 0xae, 0x79, 0x06, 0xb8, 0x81, 0x77, 0xa1, 0x8a, 0x3b, 0x9e, 0x80, 0x4b, 0x1e, 0x80, 0x9a, 0x9f, 0x5d, 0x4b, 0x8a, 0x9d, 0x38, 0xb9, 0xd2, 0x74, 0xcf, 0xd7, 0x33, 0xdd, 0xfd, 0x75, 0xf7, 0x6a, 0xa0, 0x91, 0x64, 0x93, 0x28, 0xf4, 0x3b, 0x49, 0xca, 0x04, 0x43, 0x9b, 0x3e, 0xa3, 0x41, 0x16, 0x8a, 0x8e, 0xd6, 0xb6, 0x6e, 0x4c, 0x19, 0x9b, 0x46, 0xa4, 0xab, 0x76, 0x27, 0xd9, 0x61, 0x37, 0xc8, 0x52, 0x2c, 0x42, 0x46, 0x35, 0xbe, 0xd5, 0xf0, 0x59, 0x1c, 0x17, 0x92, 0xa3, 0xa5, 0xee, 0x8c, 0xe0, 0x48, 0xcc, 0xfc, 0x19, 0xf1, 0x8f, 0xf4, 0x8e, 0xbb, 0x0e, 0xd5, 0xbd, 0x38, 0x11, 0x73, 0xf7, 0x18, 0xea, 0x5f, 0x90, 0x94, 0x87, 0x8c, 0xee, 0xd3, 0x43, 0x86, 0xfe, 0x0b, 0x1b, 0x53, 0x66, 0x14, 0x4e, 0xb9, 0x5d, 0xde, 0xda, 0xf0, 0x4e, 0x15, 0x72, 0x77, 0x92, 0x85, 0x51, 0xf0, 0x04, 0x0b, 0xe2, 0x58, 0x7a, 0xb7, 0x50, 0xa0, 0xdb, 0xb0, 0x99, 0x92, 0x88, 0x60, 0x4e, 0xf2, 0x03, 0x6c, 0x05, 0x59, 0xd1, 0xba, 0xf7, 0xe1, 0xf2, 0xb3, 0x90, 0x8b, 0x21, 0x0b, 0xb8, 0x47, 0x78, 0xc2, 0x28, 0x27, 0xe8, 0x3d, 0xa8, 0x24, 0x2c, 0xe0, 0x4e, 0xb9, 0x6d, 0x6f, 0xd5, 0x7b, 0x57, 0x3b, 0xcb, 0x61, 0x77, 0x86, 0x2c, 0xf0, 0x14, 0xc0, 0xfd, 0xc9, 0x02, 0x7b, 0xc8, 0x02, 0x84, 0xa0, 0x42, 0x71, 0x4c, 0x8c, 0x8f, 0x6a, 0x8d, 0xae, 0x41, 0x35, 0x61, 0xc1, 0xfe, 0xd0, 0xb8, 0xa6, 0x05, 0x74, 0x03, 0x20, 0x20, 0x49, 0xc4, 0xe6, 0x31, 0xa1, 0xc2, 0xb8, 0xb4, 0xa0, 0x41, 0xff, 0x86, 0x35, 0x2e, 0xb0, 0xc8, 0xb8, 0x53, 0x51, 0x7b, 0x46, 0x92, 0xa7, 0xe1, 0x20, 0x20, 0x81, 0x53, 0x6d, 0x97, 0xb7, 0x6a, 0x9e, 0x16, 0xd0, 0x63, 0xb8, 0xc4, 0x43, 0xea, 0x93, 0x67, 0x98, 0x0b, 0x8f, 0x24, 0x2c, 0x15, 0xce, 0x5a, 0xbb, 0xbc, 0x55, 0xef, 0x5d, 0xef, 0x68, 0x6a, 0x3a, 0x39, 0x35, 0x9d, 0x27, 0x86, 0x1a, 0x6f, 0xd5, 0x02, 0x6d, 0xc3, 0x55, 0x9f, 0x51, 0x91, 0xb2, 0x28, 0x22, 0xe9, 0xe7, 0x38, 0x26, 0x3c, 0xc1, 0x3e, 0x71, 0xd6, 0xd5, 0xfd, 0x67, 0x6d, 0x21, 0x17, 0x1a, 0x46, 0x3d, 0x8c, 0x30, 0x25, 0x4e, 0x4d, 0xf9, 0xb4, 0xa4, 0x73, 0x7f, 0xb6, 0x00, 0x0e, 0x70, 0xe2, 0x91, 0xe3, 0x8c, 0x70, 0x81, 0x10, 0xd8, 0x09, 0x0b, 0x74, 0x82, 0x06, 0x25, 0x4f, 0x0a, 0xa8, 0xbd, 0x94, 0x0b, 0xcb, 0x6c, 0xad, 0x64, 0x23, 0xc6, 0xdf, 0x7b, 0x09, 0x57, 0x99, 0xb2, 0x3c, 0x23, 0x49, 0xbd, 0x60, 0x43, 0x19, 0xae, 0xcc, 0x52, 0xd3, 0x33, 0x92, 0xe4, 0x41, 0xb0, 0xfd, 0xa1, 0x4a, 0xd2, 0x86, 0xa7, 0xd6, 0xa8, 0x05, 0xb5, 0xc3, 0x94, 0xc5, 0xc3, 0x3c, 0x39, 0x4d, 0xaf, 0x90, 0xe5, 0x39, 0x72, 0xbd, 0x3f, 0x34, 0xd1, 0x1a, 0x49, 0xb1, 0xe0, 0xcf, 0x48, 0xac, 0x43, 0x93, 0x2c, 0x28, 0x49, 0xf9, 0x43, 0xc4, 0x8c, 0x05, 0xce, 0x86, 0xd6, 0x6b, 0x49, 0x96, 0x22, 0xce, 0xc4, 0x8c, 0xa5, 0xa1, 0x98, 0x3b, 0xa0, 0x4b, 0xb1, 0x50, 0x48, 0xaf, 0x12, 0x2c, 0x66, 0x4e, 0x5d, 0x7b, 0x25, 0xd7, 0xf7, 0x2c, 0xa7, 0xdc, 0xaf, 0xc1, 0x9a, 0xc0, 0xe9, 0x94, 0x08, 0xf7, 0xcf, 0x2a, 0x5c, 0x3b, 0xc0, 0x49, 0x7f, 0xee, 0x11, 0xce, 0xb2, 0xd4, 0x27, 0x79, 0xda, 0x76, 0x73, 0x88, 0xca, 0x5c, 0xbd, 0xf7, 0xce, 0x6a, 0x2d, 0xe6, 0x06, 0x23, 0x12, 0x11, 0x5f, 0xf1, 0x6b, 0x0c, 0xd0, 0x43, 0xa8, 0xc6, 0x58, 0xf8, 0x33, 0x95, 0xd8, 0x7a, 0xef, 0xce, 0xaa, 0xe5, 0x59, 0xf7, 0x75, 0x9e, 0x4b, 0x0b, 0x4f, 0x1b, 0x9e, 0x97, 0xfd, 0xd6, 0xaf, 0x15, 0xa8, 0x2a, 0x20, 0xea, 0x83, 0x8d, 0xa3, 0xc8, 0xf8, 0xd6, 0xb9, 0xf8, 0x0d, 0x9d, 0x11, 0x39, 0x96, 0x55, 0x80, 0xa3, 0x48, 0x9d, 0x41, 0xe7, 0xc6, 0xcb, 0xb7, 0x39, 0x83, 0xce, 0xd1, 0xa7, 0x60, 0x53, 0xa6, 0xdb, 0xe9, 0x8d, 0x22, 0x95, 0xf6, 0x94, 0x09, 0xf4, 0x14, 0x1a, 0x01, 0xe1, 0x22, 0xa4, 0xaa, 0x45, 0x74, 0xef, 0x5d, 0x24, 0xd9, 0x83, 0x92, 0xb7, 0x64, 0x88, 0xf6, 0xa0, 0x32, 0x13, 0x22, 0x51, 0x05, 0x58, 0xef, 0x75, 0xdf, 0x20, 0x9a, 0x81, 0x10, 0xc9, 0xa0, 0xe4, 0x29, 0xf3, 0xd6, 0x67, 0x60, 0x8f, 0xc8, 0x31, 0x7a, 0x02, 0xeb, 0x8a, 0x09, 0x92, 0x8f, 0xa2, 0x37, 0x21, 0x31, 0x37, 0x6d, 0xcd, 0xa1, 0x22, 0x0f, 0x47, 0x4e, 0x51, 0xd4, 0x79, 0x17, 0xe6, 0x65, 0xed, 0x14, 0x65, 0x9d, 0x37, 0x61, 0x5e, 0xd8, 0x37, 0x16, 0x0b, 0xdb, 0x36, 0x9b, 0x0b, 0xa5, 0x7d, 0xcd, 0x94, 0x76, 0xc5, 0x6c, 0x29, 0xa9, 0xbf, 0x6e, 0x4a, 0xaf, 0x58, 0xb8, 0x6d, 0xa8, 0x3d, 0x4a, 0xc2, 0xbd, 0x34, 0x65, 0xa9, 0x1c, 0x65, 0x44, 0x2e, 0xcc, 0xb4, 0xd4, 0x82, 0x3b, 0x84, 0x5a, 0x1e, 0x87, 0x6c, 0x27, 0x5a, 0xcc, 0x21, 0x33, 0xf7, 0x0b, 0x85, 0x6a, 0xf2, 0x79, 0x92, 0x8f, 0x7c, 0xb5, 0x2e, 0x06, 0xb0, 0x7d, 0x3a, 0x80, 0xdd, 0x04, 0xae, 0xbc, 0x44, 0x18, 0xfa, 0x08, 0x6a, 0xa9, 0x51, 0x9a, 0xb2, 0x75, 0xce, 0x63, 0xd9, 0x2b, 0x90, 0xe8, 0x5d, 0xd8, 0x8c, 0xf0, 0x84, 0x44, 0x63, 0xae, 0x0e, 0x62, 0xa9, 0xb9, 0xbc, 0xa9, 0xb4, 0x23, 0xa3, 0x74, 0xbf, 0x81, 0x66, 0x6e, 0xac, 0x43, 0x7d, 0xbb, 0xdb, 0x8a, 0x04, 0x59, 0x8b, 0x09, 0xfa, 0xc5, 0x02, 0x34, 0x12, 0x58, 0x8c, 0xb2, 0x38, 0xc6, 0xe9, 0x3c, 0x9f, 0x10, 0x9f, 0x40, 0xad, 0x70, 0xea, 0xc2, 0x33, 0xa2, 0x30, 0x41, 0xff, 0x87, 0xba, 0x08, 0x63, 0x32, 0x3e, 0x09, 0x69, 0xc0, 0x4e, 0xcc, 0x8d, 0x20, 0x55, 0x5f, 0x2a, 0x0d, 0x7a, 0x1f, 0x2a, 0x94, 0x51, 0x62, 0x7a, 0xeb, 0x5f, 0xab, 0x67, 0xab, 0xef, 0xb6, 0x24, 0x5e, 0x82, 0xd0, 0x7d, 0xa8, 0x0b, 0x36, 0x2e, 0x42, 0xae, 0xbc, 0x3a, 0x64, 0x39, 0xec, 0x05, 0x2b, 0x58, 0x7f, 0x00, 0x4d, 0x39, 0x7e, 0x4f, 0xcd, 0xab, 0xaf, 0x35, 0x6f, 0x48, 0x83, 0x5c, 0xee, 0x03, 0xd4, 0x58, 0x26, 0x26, 0x2c, 0xa3, 0x81, 0xfb, 0x7b, 0x19, 0xae, 0x2e, 0x65, 0xcb, 0x7c, 0xda, 0x3f, 0x06, 0x8b, 0x1d, 0x99, 0x44, 0xdd, 0x5e, 0x3d, 0xf9, 0x0c, 0x83, 0xce, 0x8b, 0xa3, 0x41, 0xc9, 0xb3, 0xd8, 0x11, 0xda, 0x59, 0x64, 0xa5, 0xde, 0xfb, 0xdf, 0x79, 0x6e, 0x29, 0xe6, 0x07, 0x25, 0x43, 0x5b, 0xeb, 0x21, 0x58, 0x2f, 0x8e, 0xd0, 0x3d, 0xa8, 0xcb, 0x0f, 0xf9, 0x58, 0xe0, 0x49, 0x54, 0x74, 0xf3, 0xf5, 0xb3, 0xee, 0x3f, 0x90, 0x08, 0x0f, 0x78, 0xbe, 0xe4, 0x32, 0xac, 0xd4, 0x78, 0xe3, 0xfe, 0x5d, 0x06, 0xe8, 0x63, 0x1e, 0xfa, 0x12, 0xca, 0xd1, 0x4d, 0x68, 0xf2, 0xcc, 0xf7, 0x09, 0xe7, 0x63, 0x9f, 0x65, 0x54, 0x7f, 0x25, 0x2a, 0x5e, 0xc3, 0x28, 0x1f, 0x4b, 0x9d, 0x04, 0x1d, 0xe2, 0x30, 0xca, 0x52, 0x62, 0x40, 0x96, 0x06, 0x19, 0xa5, 0x06, 0xdd, 0x92, 0x15, 0x2e, 0x08, 0xf5, 0xe7, 0xe3, 0x98, 0x8f, 0x93, 0x9d, 0x6d, 0x45, 0x78, 0xc5, 0x6b, 0x18, 0xed, 0x73, 0x3e, 0xdc, 0xd9, 0x5e, 0x45, 0xed, 0xee, 0x28, 0x8a, 0x97, 0x50, 0xbb, 0x3b, 0x2f, 0xa1, 0x76, 0x15, 0x93, 0xcb, 0xa8, 0x5d, 0x74, 0x07, 0xae, 0x88, 0x88, 0x8f, 0x53, 0x5d, 0xc7, 0xc6, 0xb5, 0x35, 0x05, 0xbc, 0x24, 0x22, 0x6e, 0xea, 0x5b, 0x79, 0xe7, 0xfe, 0x66, 0xc3, 0x46, 0x91, 0x1c, 0xf4, 0x08, 0x36, 0x12, 0x16, 0x8c, 0xa7, 0x29, 0xcb, 0x12, 0x43, 0xa5, 0x7b, 0x6e, 0x2a, 0xe5, 0xbf, 0xb5, 0xa7, 0x12, 0x39, 0x28, 0x79, 0xb5, 0xc4, 0xac, 0x5b, 0x7f, 0x58, 0x50, 0xcb, 0x37, 0xd0, 0x3d, 0xa8, 0xa4, 0xec, 0x24, 0x67, 0xe5, 0xf6, 0xeb, 0x8f, 0xea, 0x78, 0xec, 0xc4, 0x53, 0x36, 0xad, 0x1f, 0x2d, 0xb0, 0x3d, 0x76, 0xf2, 0x96, 0x9d, 0xfe, 0xda, 0xee, 0xdb, 0x82, 0xcb, 0x31, 0xe1, 0x33, 0x12, 0x8c, 0x65, 0xc4, 0x3a, 0x47, 0x9a, 0x98, 0x4d, 0xad, 0x1f, 0xb2, 0x40, 0x13, 0x78, 0x07, 0xae, 0xa4, 0x19, 0xa5, 0x21, 0x9d, 0x2e, 0x40, 0x35, 0x3b, 0x97, 0xcc, 0x46, 0x81, 0xdd, 0x82, 0xcb, 0x92, 0xfc, 0xa5, 0x53, 0x75, 0xe6, 0x37, 0xb5, 0xbe, 0x40, 0x6e, 0x43, 0x55, 0x56, 0x22, 0x37, 0xbd, 0xd8, 0x5a, 0x8d, 0xe9, 0xb4, 0x16, 0x3d, 0x0d, 0x94, 0x23, 0x5f, 0x15, 0x79, 0xef, 0x2f, 0x1b, 0xec, 0x47, 0x49, 0x88, 0xbe, 0x82, 0xfa, 0x42, 0x5f, 0x21, 0xf7, 0x95, 0x4d, 0xa7, 0x38, 0x6f, 0xdd, 0xbc, 0x40, 0x63, 0xba, 0x25, 0xb4, 0x07, 0xb5, 0xfc, 0xaf, 0x3b, 0x3a, 0x7b, 0x30, 0xb5, 0xda, 0xab, 0xea, 0xd5, 0xff, 0xfa, 0x6e, 0x49, 0xfe, 0x01, 0x39, 0xc0, 0x09, 0x6a, 0x9d, 0xf1, 0x6d, 0xcd, 0x1d, 0x3a, 0xe5, 0xd2, 0xbc, 0x68, 0x0e, 0x70, 0xb2, 0xf7, 0x1d, 0xa1, 0xc2, 0xb5, 0x7f, 0xb0, 0xca, 0xdb, 0x65, 0x34, 0x82, 0xe6, 0xd2, 0xa7, 0x18, 0xdd, 0xba, 0xc8, 0x97, 0xfa, 0x15, 0xe7, 0x96, 0xb6, 0xcb, 0xe8, 0x01, 0xac, 0xe7, 0x6f, 0x9d, 0x73, 0xc2, 0xfb, 0xcf, 0xaa, 0x7a, 0xe1, 0xf5, 0xe4, 0x96, 0xd0, 0xb7, 0xb0, 0x31, 0x22, 0xd1, 0xe1, 0x63, 0xf9, 0xd4, 0x42, 0x1f, 0xac, 0xde, 0xb5, 0xf8, 0x0e, 0x2b, 0x60, 0xb9, 0x67, 0x1f, 0x5e, 0x10, 0x9d, 0x67, 0xb1, 0xbf, 0xf3, 0xf5, 0xdd, 0x69, 0x28, 0x66, 0xd9, 0x44, 0x1a, 0x74, 0xd3, 0x8c, 0x1a, 0xfb, 0xee, 0xc2, 0xaf, 0x79, 0x48, 0x74, 0xa7, 0x84, 0x76, 0xb5, 0xc3, 0x93, 0x35, 0xf5, 0x40, 0xb9, 0xfb, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x54, 0x37, 0xe8, 0x69, 0x0e, 0x00, 0x00, }