linkerd2/controller/gen/public/api.pb.go

1812 lines
60 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: public/api.proto
/*
Package conduit_public is a generated protocol buffer package.
It is generated from these files:
public/api.proto
It has these top-level messages:
HistogramValue
Histogram
MetricValue
MetricDatapoint
MetricSeries
MetricMetadata
MetricResponse
MetricRequest
Empty
VersionInfo
ListPodsResponse
Pod
TapRequest
ApiError
Resource
ResourceSelection
ResourceError
StatSummaryRequest
StatSummaryResponse
BasicStats
StatTable
*/
package conduit_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 MetricName int32
const (
MetricName_REQUEST_RATE MetricName = 0
MetricName_LATENCY MetricName = 1
MetricName_SUCCESS_RATE MetricName = 2
)
var MetricName_name = map[int32]string{
0: "REQUEST_RATE",
1: "LATENCY",
2: "SUCCESS_RATE",
}
var MetricName_value = map[string]int32{
"REQUEST_RATE": 0,
"LATENCY": 1,
"SUCCESS_RATE": 2,
}
func (x MetricName) String() string {
return proto.EnumName(MetricName_name, int32(x))
}
func (MetricName) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
type TimeWindow int32
const (
TimeWindow_TEN_SEC TimeWindow = 0
TimeWindow_ONE_MIN TimeWindow = 1
TimeWindow_TEN_MIN TimeWindow = 2
TimeWindow_ONE_HOUR TimeWindow = 3
)
var TimeWindow_name = map[int32]string{
0: "TEN_SEC",
1: "ONE_MIN",
2: "TEN_MIN",
3: "ONE_HOUR",
}
var TimeWindow_value = map[string]int32{
"TEN_SEC": 0,
"ONE_MIN": 1,
"TEN_MIN": 2,
"ONE_HOUR": 3,
}
func (x TimeWindow) String() string {
return proto.EnumName(TimeWindow_name, int32(x))
}
func (TimeWindow) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
type AggregationType int32
const (
AggregationType_TARGET_DEPLOY AggregationType = 0
AggregationType_SOURCE_DEPLOY AggregationType = 1
AggregationType_MESH AggregationType = 2
)
var AggregationType_name = map[int32]string{
0: "TARGET_DEPLOY",
1: "SOURCE_DEPLOY",
2: "MESH",
}
var AggregationType_value = map[string]int32{
"TARGET_DEPLOY": 0,
"SOURCE_DEPLOY": 1,
"MESH": 2,
}
func (x AggregationType) String() string {
return proto.EnumName(AggregationType_name, int32(x))
}
func (AggregationType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
type HistogramLabel int32
const (
HistogramLabel_MIN HistogramLabel = 0
HistogramLabel_P50 HistogramLabel = 1
HistogramLabel_P95 HistogramLabel = 2
HistogramLabel_P99 HistogramLabel = 3
HistogramLabel_MAX HistogramLabel = 4
)
var HistogramLabel_name = map[int32]string{
0: "MIN",
1: "P50",
2: "P95",
3: "P99",
4: "MAX",
}
var HistogramLabel_value = map[string]int32{
"MIN": 0,
"P50": 1,
"P95": 2,
"P99": 3,
"MAX": 4,
}
func (x HistogramLabel) String() string {
return proto.EnumName(HistogramLabel_name, int32(x))
}
func (HistogramLabel) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
type HistogramValue struct {
Label HistogramLabel `protobuf:"varint,1,opt,name=label,enum=conduit.public.HistogramLabel" json:"label,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
}
func (m *HistogramValue) Reset() { *m = HistogramValue{} }
func (m *HistogramValue) String() string { return proto.CompactTextString(m) }
func (*HistogramValue) ProtoMessage() {}
func (*HistogramValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *HistogramValue) GetLabel() HistogramLabel {
if m != nil {
return m.Label
}
return HistogramLabel_MIN
}
func (m *HistogramValue) GetValue() int64 {
if m != nil {
return m.Value
}
return 0
}
type Histogram struct {
Values []*HistogramValue `protobuf:"bytes,1,rep,name=values" json:"values,omitempty"`
}
func (m *Histogram) Reset() { *m = Histogram{} }
func (m *Histogram) String() string { return proto.CompactTextString(m) }
func (*Histogram) ProtoMessage() {}
func (*Histogram) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *Histogram) GetValues() []*HistogramValue {
if m != nil {
return m.Values
}
return nil
}
type MetricValue struct {
// Types that are valid to be assigned to Value:
// *MetricValue_Counter
// *MetricValue_Gauge
// *MetricValue_Histogram
Value isMetricValue_Value `protobuf_oneof:"value"`
}
func (m *MetricValue) Reset() { *m = MetricValue{} }
func (m *MetricValue) String() string { return proto.CompactTextString(m) }
func (*MetricValue) ProtoMessage() {}
func (*MetricValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
type isMetricValue_Value interface{ isMetricValue_Value() }
type MetricValue_Counter struct {
Counter int64 `protobuf:"varint,1,opt,name=counter,oneof"`
}
type MetricValue_Gauge struct {
Gauge float64 `protobuf:"fixed64,2,opt,name=gauge,oneof"`
}
type MetricValue_Histogram struct {
Histogram *Histogram `protobuf:"bytes,3,opt,name=histogram,oneof"`
}
func (*MetricValue_Counter) isMetricValue_Value() {}
func (*MetricValue_Gauge) isMetricValue_Value() {}
func (*MetricValue_Histogram) isMetricValue_Value() {}
func (m *MetricValue) GetValue() isMetricValue_Value {
if m != nil {
return m.Value
}
return nil
}
func (m *MetricValue) GetCounter() int64 {
if x, ok := m.GetValue().(*MetricValue_Counter); ok {
return x.Counter
}
return 0
}
func (m *MetricValue) GetGauge() float64 {
if x, ok := m.GetValue().(*MetricValue_Gauge); ok {
return x.Gauge
}
return 0
}
func (m *MetricValue) GetHistogram() *Histogram {
if x, ok := m.GetValue().(*MetricValue_Histogram); ok {
return x.Histogram
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*MetricValue) 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 _MetricValue_OneofMarshaler, _MetricValue_OneofUnmarshaler, _MetricValue_OneofSizer, []interface{}{
(*MetricValue_Counter)(nil),
(*MetricValue_Gauge)(nil),
(*MetricValue_Histogram)(nil),
}
}
func _MetricValue_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*MetricValue)
// value
switch x := m.Value.(type) {
case *MetricValue_Counter:
b.EncodeVarint(1<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.Counter))
case *MetricValue_Gauge:
b.EncodeVarint(2<<3 | proto.WireFixed64)
b.EncodeFixed64(math.Float64bits(x.Gauge))
case *MetricValue_Histogram:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Histogram); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("MetricValue.Value has unexpected type %T", x)
}
return nil
}
func _MetricValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*MetricValue)
switch tag {
case 1: // value.counter
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Value = &MetricValue_Counter{int64(x)}
return true, err
case 2: // value.gauge
if wire != proto.WireFixed64 {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeFixed64()
m.Value = &MetricValue_Gauge{math.Float64frombits(x)}
return true, err
case 3: // value.histogram
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Histogram)
err := b.DecodeMessage(msg)
m.Value = &MetricValue_Histogram{msg}
return true, err
default:
return false, nil
}
}
func _MetricValue_OneofSizer(msg proto.Message) (n int) {
m := msg.(*MetricValue)
// value
switch x := m.Value.(type) {
case *MetricValue_Counter:
n += proto.SizeVarint(1<<3 | proto.WireVarint)
n += proto.SizeVarint(uint64(x.Counter))
case *MetricValue_Gauge:
n += proto.SizeVarint(2<<3 | proto.WireFixed64)
n += 8
case *MetricValue_Histogram:
s := proto.Size(x.Histogram)
n += proto.SizeVarint(3<<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 MetricDatapoint struct {
Value *MetricValue `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
TimestampMs int64 `protobuf:"varint,2,opt,name=timestamp_ms,json=timestampMs" json:"timestamp_ms,omitempty"`
}
func (m *MetricDatapoint) Reset() { *m = MetricDatapoint{} }
func (m *MetricDatapoint) String() string { return proto.CompactTextString(m) }
func (*MetricDatapoint) ProtoMessage() {}
func (*MetricDatapoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (m *MetricDatapoint) GetValue() *MetricValue {
if m != nil {
return m.Value
}
return nil
}
func (m *MetricDatapoint) GetTimestampMs() int64 {
if m != nil {
return m.TimestampMs
}
return 0
}
type MetricSeries struct {
Name MetricName `protobuf:"varint,1,opt,name=name,enum=conduit.public.MetricName" json:"name,omitempty"`
Metadata *MetricMetadata `protobuf:"bytes,2,opt,name=metadata" json:"metadata,omitempty"`
Datapoints []*MetricDatapoint `protobuf:"bytes,3,rep,name=datapoints" json:"datapoints,omitempty"`
}
func (m *MetricSeries) Reset() { *m = MetricSeries{} }
func (m *MetricSeries) String() string { return proto.CompactTextString(m) }
func (*MetricSeries) ProtoMessage() {}
func (*MetricSeries) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *MetricSeries) GetName() MetricName {
if m != nil {
return m.Name
}
return MetricName_REQUEST_RATE
}
func (m *MetricSeries) GetMetadata() *MetricMetadata {
if m != nil {
return m.Metadata
}
return nil
}
func (m *MetricSeries) GetDatapoints() []*MetricDatapoint {
if m != nil {
return m.Datapoints
}
return nil
}
type MetricMetadata struct {
TargetDeploy string `protobuf:"bytes,1,opt,name=targetDeploy" json:"targetDeploy,omitempty"`
SourceDeploy string `protobuf:"bytes,2,opt,name=sourceDeploy" json:"sourceDeploy,omitempty"`
Component string `protobuf:"bytes,3,opt,name=component" json:"component,omitempty"`
}
func (m *MetricMetadata) Reset() { *m = MetricMetadata{} }
func (m *MetricMetadata) String() string { return proto.CompactTextString(m) }
func (*MetricMetadata) ProtoMessage() {}
func (*MetricMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *MetricMetadata) GetTargetDeploy() string {
if m != nil {
return m.TargetDeploy
}
return ""
}
func (m *MetricMetadata) GetSourceDeploy() string {
if m != nil {
return m.SourceDeploy
}
return ""
}
func (m *MetricMetadata) GetComponent() string {
if m != nil {
return m.Component
}
return ""
}
type MetricResponse struct {
Metrics []*MetricSeries `protobuf:"bytes,1,rep,name=metrics" json:"metrics,omitempty"`
}
func (m *MetricResponse) Reset() { *m = MetricResponse{} }
func (m *MetricResponse) String() string { return proto.CompactTextString(m) }
func (*MetricResponse) ProtoMessage() {}
func (*MetricResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *MetricResponse) GetMetrics() []*MetricSeries {
if m != nil {
return m.Metrics
}
return nil
}
type MetricRequest struct {
Metrics []MetricName `protobuf:"varint,1,rep,packed,name=metrics,enum=conduit.public.MetricName" json:"metrics,omitempty"`
Window TimeWindow `protobuf:"varint,2,opt,name=window,enum=conduit.public.TimeWindow" json:"window,omitempty"`
GroupBy AggregationType `protobuf:"varint,3,opt,name=groupBy,enum=conduit.public.AggregationType" json:"groupBy,omitempty"`
FilterBy *MetricMetadata `protobuf:"bytes,4,opt,name=filterBy" json:"filterBy,omitempty"`
Summarize bool `protobuf:"varint,5,opt,name=summarize" json:"summarize,omitempty"`
}
func (m *MetricRequest) Reset() { *m = MetricRequest{} }
func (m *MetricRequest) String() string { return proto.CompactTextString(m) }
func (*MetricRequest) ProtoMessage() {}
func (*MetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *MetricRequest) GetMetrics() []MetricName {
if m != nil {
return m.Metrics
}
return nil
}
func (m *MetricRequest) GetWindow() TimeWindow {
if m != nil {
return m.Window
}
return TimeWindow_TEN_SEC
}
func (m *MetricRequest) GetGroupBy() AggregationType {
if m != nil {
return m.GroupBy
}
return AggregationType_TARGET_DEPLOY
}
func (m *MetricRequest) GetFilterBy() *MetricMetadata {
if m != nil {
return m.FilterBy
}
return nil
}
func (m *MetricRequest) GetSummarize() bool {
if m != nil {
return m.Summarize
}
return false
}
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{8} }
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{9} }
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{10} }
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{11} }
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{12} }
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
}
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{13} }
func (m *ApiError) GetError() string {
if m != nil {
return m.Error
}
return ""
}
type Resource struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace" json:"namespace,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"`
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{14} }
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 {
Resource *Resource `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"`
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{15} }
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{16} }
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 TimeWindow `protobuf:"varint,2,opt,name=time_window,json=timeWindow,enum=conduit.public.TimeWindow" json:"time_window,omitempty"`
// Types that are valid to be assigned to Outbound:
// *StatSummaryRequest_None
// *StatSummaryRequest_OutToResource
// *StatSummaryRequest_OutFromResource
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{17} }
type isStatSummaryRequest_Outbound interface{ isStatSummaryRequest_Outbound() }
type StatSummaryRequest_None struct {
None *Empty `protobuf:"bytes,3,opt,name=none,oneof"`
}
type StatSummaryRequest_OutToResource struct {
OutToResource *Resource `protobuf:"bytes,4,opt,name=out_to_resource,json=outToResource,oneof"`
}
type StatSummaryRequest_OutFromResource struct {
OutFromResource *Resource `protobuf:"bytes,5,opt,name=out_from_resource,json=outFromResource,oneof"`
}
func (*StatSummaryRequest_None) isStatSummaryRequest_Outbound() {}
func (*StatSummaryRequest_OutToResource) isStatSummaryRequest_Outbound() {}
func (*StatSummaryRequest_OutFromResource) 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() TimeWindow {
if m != nil {
return m.TimeWindow
}
return TimeWindow_TEN_SEC
}
func (m *StatSummaryRequest) GetNone() *Empty {
if x, ok := m.GetOutbound().(*StatSummaryRequest_None); ok {
return x.None
}
return nil
}
func (m *StatSummaryRequest) GetOutToResource() *Resource {
if x, ok := m.GetOutbound().(*StatSummaryRequest_OutToResource); ok {
return x.OutToResource
}
return nil
}
func (m *StatSummaryRequest) GetOutFromResource() *Resource {
if x, ok := m.GetOutbound().(*StatSummaryRequest_OutFromResource); ok {
return x.OutFromResource
}
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_OutToResource)(nil),
(*StatSummaryRequest_OutFromResource)(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_OutToResource:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.OutToResource); err != nil {
return err
}
case *StatSummaryRequest_OutFromResource:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.OutFromResource); 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.out_to_resource
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Resource)
err := b.DecodeMessage(msg)
m.Outbound = &StatSummaryRequest_OutToResource{msg}
return true, err
case 5: // outbound.out_from_resource
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Resource)
err := b.DecodeMessage(msg)
m.Outbound = &StatSummaryRequest_OutFromResource{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_OutToResource:
s := proto.Size(x.OutToResource)
n += proto.SizeVarint(4<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *StatSummaryRequest_OutFromResource:
s := proto.Size(x.OutFromResource)
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{18} }
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{18, 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"`
}
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{19} }
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
}
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{20} }
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{20, 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 TimeWindow `protobuf:"varint,2,opt,name=time_window,json=timeWindow,enum=conduit.public.TimeWindow" json:"time_window,omitempty"`
MeshedPodCount uint64 `protobuf:"varint,3,opt,name=meshed_pod_count,json=meshedPodCount" json:"meshed_pod_count,omitempty"`
TotalPodCount uint64 `protobuf:"varint,4,opt,name=total_pod_count,json=totalPodCount" json:"total_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{20, 0, 0} }
func (m *StatTable_PodGroup_Row) GetResource() *Resource {
if m != nil {
return m.Resource
}
return nil
}
func (m *StatTable_PodGroup_Row) GetTimeWindow() TimeWindow {
if m != nil {
return m.TimeWindow
}
return TimeWindow_TEN_SEC
}
func (m *StatTable_PodGroup_Row) GetMeshedPodCount() uint64 {
if m != nil {
return m.MeshedPodCount
}
return 0
}
func (m *StatTable_PodGroup_Row) GetTotalPodCount() uint64 {
if m != nil {
return m.TotalPodCount
}
return 0
}
func (m *StatTable_PodGroup_Row) GetStats() *BasicStats {
if m != nil {
return m.Stats
}
return nil
}
func init() {
proto.RegisterType((*HistogramValue)(nil), "conduit.public.HistogramValue")
proto.RegisterType((*Histogram)(nil), "conduit.public.Histogram")
proto.RegisterType((*MetricValue)(nil), "conduit.public.MetricValue")
proto.RegisterType((*MetricDatapoint)(nil), "conduit.public.MetricDatapoint")
proto.RegisterType((*MetricSeries)(nil), "conduit.public.MetricSeries")
proto.RegisterType((*MetricMetadata)(nil), "conduit.public.MetricMetadata")
proto.RegisterType((*MetricResponse)(nil), "conduit.public.MetricResponse")
proto.RegisterType((*MetricRequest)(nil), "conduit.public.MetricRequest")
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((*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")
proto.RegisterEnum("conduit.public.MetricName", MetricName_name, MetricName_value)
proto.RegisterEnum("conduit.public.TimeWindow", TimeWindow_name, TimeWindow_value)
proto.RegisterEnum("conduit.public.AggregationType", AggregationType_name, AggregationType_value)
proto.RegisterEnum("conduit.public.HistogramLabel", HistogramLabel_name, HistogramLabel_value)
}
// 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 {
Stat(ctx context.Context, in *MetricRequest, opts ...grpc.CallOption) (*MetricResponse, error)
StatSummary(ctx context.Context, in *StatSummaryRequest, opts ...grpc.CallOption) (*StatSummaryResponse, error)
Version(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VersionInfo, error)
ListPods(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListPodsResponse, error)
SelfCheck(ctx context.Context, in *conduit_common_healthcheck.SelfCheckRequest, opts ...grpc.CallOption) (*conduit_common_healthcheck.SelfCheckResponse, error)
Tap(ctx context.Context, in *TapRequest, opts ...grpc.CallOption) (Api_TapClient, error)
}
type apiClient struct {
cc *grpc.ClientConn
}
func NewApiClient(cc *grpc.ClientConn) ApiClient {
return &apiClient{cc}
}
func (c *apiClient) Stat(ctx context.Context, in *MetricRequest, opts ...grpc.CallOption) (*MetricResponse, error) {
out := new(MetricResponse)
err := grpc.Invoke(ctx, "/conduit.public.Api/Stat", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
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) 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) 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) 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
}
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
}
// Server API for Api service
type ApiServer interface {
Stat(context.Context, *MetricRequest) (*MetricResponse, error)
StatSummary(context.Context, *StatSummaryRequest) (*StatSummaryResponse, error)
Version(context.Context, *Empty) (*VersionInfo, error)
ListPods(context.Context, *Empty) (*ListPodsResponse, error)
SelfCheck(context.Context, *conduit_common_healthcheck.SelfCheckRequest) (*conduit_common_healthcheck.SelfCheckResponse, error)
Tap(*TapRequest, Api_TapServer) error
}
func RegisterApiServer(s *grpc.Server, srv ApiServer) {
s.RegisterService(&_Api_serviceDesc, srv)
}
func _Api_Stat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(MetricRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ApiServer).Stat(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/conduit.public.Api/Stat",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApiServer).Stat(ctx, req.(*MetricRequest))
}
return interceptor(ctx, in, info, handler)
}
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_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_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_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)
}
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)
}
var _Api_serviceDesc = grpc.ServiceDesc{
ServiceName: "conduit.public.Api",
HandlerType: (*ApiServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Stat",
Handler: _Api_Stat_Handler,
},
{
MethodName: "StatSummary",
Handler: _Api_StatSummary_Handler,
},
{
MethodName: "Version",
Handler: _Api_Version_Handler,
},
{
MethodName: "ListPods",
Handler: _Api_ListPods_Handler,
},
{
MethodName: "SelfCheck",
Handler: _Api_SelfCheck_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "Tap",
Handler: _Api_Tap_Handler,
ServerStreams: true,
},
},
Metadata: "public/api.proto",
}
func init() { proto.RegisterFile("public/api.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 1697 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xcd, 0x73, 0x23, 0x47,
0x15, 0xd7, 0x8c, 0x64, 0x4b, 0x7a, 0xb2, 0x6c, 0x6d, 0x6f, 0x48, 0x29, 0x22, 0x59, 0x9c, 0x49,
0x58, 0x5c, 0x0b, 0x68, 0x8d, 0x59, 0xa7, 0xf0, 0xa6, 0xb6, 0x82, 0x2c, 0x2b, 0x2b, 0x57, 0xf9,
0x43, 0xb4, 0xb4, 0x21, 0x29, 0xa8, 0x52, 0xb5, 0x67, 0xda, 0xd2, 0xe0, 0x99, 0xe9, 0xc9, 0x74,
0xcf, 0x1a, 0x71, 0xe7, 0xca, 0x99, 0x1b, 0x37, 0xfe, 0x09, 0xce, 0x54, 0xf1, 0x07, 0xc0, 0x91,
0xff, 0x84, 0x03, 0xd5, 0x1f, 0x33, 0xfa, 0xb0, 0xbc, 0xd9, 0xda, 0x9c, 0xd4, 0xfd, 0xeb, 0xdf,
0x7b, 0xfd, 0xbe, 0xfa, 0xe9, 0x0d, 0x34, 0xe2, 0xf4, 0x2a, 0xf0, 0xdd, 0xa7, 0x24, 0xf6, 0xdb,
0x71, 0xc2, 0x04, 0x43, 0xdb, 0x2e, 0x8b, 0xbc, 0xd4, 0x17, 0x6d, 0x7d, 0xd2, 0x7a, 0x34, 0x61,
0x6c, 0x12, 0xd0, 0xa7, 0xea, 0xf4, 0x2a, 0xbd, 0x7e, 0xea, 0xa5, 0x09, 0x11, 0x3e, 0x8b, 0x34,
0xbf, 0xf5, 0xd0, 0x65, 0x61, 0xc8, 0xa2, 0xa7, 0xfa, 0xc7, 0x80, 0x9f, 0x1a, 0x70, 0x4a, 0x49,
0x20, 0xa6, 0xee, 0x94, 0xba, 0x37, 0x8b, 0x6b, 0xcd, 0x72, 0x7e, 0x0f, 0xdb, 0x7d, 0x9f, 0x0b,
0x36, 0x49, 0x48, 0xf8, 0x15, 0x09, 0x52, 0x8a, 0x9e, 0xc1, 0x46, 0x40, 0xae, 0x68, 0xd0, 0xb4,
0x76, 0xad, 0xbd, 0xed, 0x83, 0x47, 0xed, 0x65, 0x63, 0xda, 0x39, 0xfd, 0x4c, 0xb2, 0xb0, 0x26,
0xa3, 0xf7, 0x60, 0xe3, 0xb5, 0x14, 0x6f, 0xda, 0xbb, 0xd6, 0x5e, 0x11, 0xeb, 0x8d, 0xd3, 0x85,
0x6a, 0x4e, 0x47, 0x9f, 0xc1, 0xa6, 0x42, 0x79, 0xd3, 0xda, 0x2d, 0xee, 0xd5, 0xde, 0xa0, 0x59,
0x19, 0x82, 0x0d, 0xdb, 0xf9, 0xb3, 0x05, 0xb5, 0x73, 0x2a, 0x12, 0xdf, 0xd5, 0x06, 0xb6, 0xa0,
0xec, 0xb2, 0x34, 0x12, 0x34, 0x51, 0x26, 0x16, 0xfb, 0x05, 0x9c, 0x01, 0xe8, 0x7d, 0xd8, 0x98,
0x90, 0x74, 0xa2, 0xcd, 0xb0, 0xfa, 0x05, 0xac, 0xb7, 0xe8, 0x08, 0xaa, 0xd3, 0x4c, 0x7b, 0xb3,
0xb8, 0x6b, 0xed, 0xd5, 0x0e, 0x3e, 0xb8, 0xf7, 0xfa, 0x7e, 0x01, 0xcf, 0xd9, 0xc7, 0x65, 0xe3,
0x99, 0x33, 0x81, 0x1d, 0x6d, 0xc6, 0x09, 0x11, 0x24, 0x66, 0x7e, 0x24, 0xd0, 0x2f, 0x32, 0xaf,
0x2d, 0xa5, 0xf2, 0x87, 0xab, 0x2a, 0x17, 0xcc, 0x36, 0x21, 0x41, 0x1f, 0xc3, 0x96, 0xf0, 0x43,
0xca, 0x05, 0x09, 0xe3, 0x71, 0xc8, 0x4d, 0xbc, 0x6a, 0x39, 0x76, 0xce, 0x9d, 0x7f, 0x58, 0xb0,
0xa5, 0x25, 0x87, 0x34, 0xf1, 0x29, 0x47, 0x6d, 0x28, 0x45, 0x24, 0xa4, 0x26, 0x23, 0xad, 0xf5,
0xb7, 0x5c, 0x90, 0x90, 0x62, 0xc5, 0x43, 0xcf, 0xa1, 0x12, 0x52, 0x41, 0x3c, 0x22, 0x88, 0xd2,
0xbf, 0x26, 0xd6, 0x5a, 0xe6, 0xdc, 0xb0, 0x70, 0xce, 0x47, 0x5f, 0x00, 0x78, 0x99, 0x7f, 0xbc,
0x59, 0x54, 0x99, 0xfa, 0xd1, 0x7a, 0xe9, 0x3c, 0x0e, 0x78, 0x41, 0xc4, 0x79, 0x0d, 0xdb, 0xcb,
0xca, 0x91, 0x03, 0x5b, 0x82, 0x24, 0x13, 0x2a, 0x4e, 0x68, 0x1c, 0xb0, 0x99, 0x72, 0xa3, 0x8a,
0x97, 0x30, 0xc9, 0xe1, 0x2c, 0x4d, 0x5c, 0x6a, 0x38, 0xb6, 0xe6, 0x2c, 0x62, 0xe8, 0x43, 0xa8,
0xba, 0x2c, 0x8c, 0x59, 0x44, 0x23, 0xa1, 0x92, 0x58, 0xc5, 0x73, 0xc0, 0xe9, 0x67, 0xf7, 0x62,
0xca, 0x63, 0x16, 0x71, 0x8a, 0x3e, 0x83, 0x72, 0xa8, 0x90, 0xac, 0xe2, 0x3e, 0x5c, 0xef, 0x87,
0x8e, 0x32, 0xce, 0xc8, 0xce, 0x5f, 0x6c, 0xa8, 0x67, 0xaa, 0xbe, 0x4d, 0x29, 0x17, 0xe8, 0xd9,
0xb2, 0xa6, 0x37, 0xe7, 0x20, 0xa3, 0xa2, 0x03, 0xd8, 0xbc, 0xf5, 0x23, 0x8f, 0xdd, 0x2a, 0x6f,
0xd6, 0x08, 0x8d, 0xfc, 0x90, 0xfe, 0x56, 0x31, 0xb0, 0x61, 0xa2, 0x23, 0x28, 0x4f, 0x12, 0x96,
0xc6, 0xc7, 0x33, 0xe5, 0xe1, 0xf6, 0xdd, 0xd8, 0x77, 0x26, 0x93, 0x84, 0x4e, 0xd4, 0xf3, 0x1f,
0xcd, 0x62, 0x8a, 0x33, 0xbe, 0xcc, 0xfa, 0xb5, 0x1f, 0x08, 0x9a, 0x1c, 0xcf, 0x9a, 0xa5, 0xb7,
0xcb, 0x7a, 0xc6, 0x97, 0xa1, 0xe5, 0x69, 0x18, 0x92, 0xc4, 0xff, 0x13, 0x6d, 0x6e, 0xec, 0x5a,
0x7b, 0x15, 0x3c, 0x07, 0x9c, 0x32, 0x6c, 0xf4, 0xc2, 0x58, 0xcc, 0x9c, 0x6f, 0xa1, 0xf6, 0x15,
0x4d, 0xb8, 0xcf, 0xa2, 0xd3, 0xe8, 0x9a, 0x49, 0xa9, 0x09, 0x33, 0x80, 0xc9, 0xea, 0x1c, 0x90,
0xa7, 0x57, 0xa9, 0x1f, 0x78, 0x27, 0x44, 0x50, 0x93, 0xcf, 0x39, 0x80, 0x1e, 0xc3, 0x76, 0x42,
0x03, 0x4a, 0x38, 0xcd, 0x14, 0xe8, 0x8c, 0xae, 0xa0, 0xce, 0xe7, 0xd0, 0x38, 0xf3, 0xb9, 0x18,
0x30, 0x8f, 0xe7, 0x89, 0xfd, 0x09, 0x94, 0x62, 0xe6, 0x65, 0x59, 0x7d, 0xb8, 0xea, 0xe5, 0x80,
0x79, 0x58, 0x11, 0x9c, 0xbf, 0xda, 0x50, 0x1c, 0x30, 0x0f, 0xa1, 0x85, 0x07, 0x54, 0x35, 0x8f,
0xe4, 0x3d, 0xd8, 0x88, 0x99, 0x77, 0x3a, 0x30, 0xa6, 0xe9, 0x0d, 0x7a, 0x04, 0xe0, 0xa9, 0x6a,
0x0b, 0xe7, 0x45, 0xb6, 0x80, 0xa0, 0xf7, 0x61, 0x93, 0x0b, 0x22, 0x52, 0xae, 0x42, 0x5c, 0xc5,
0x66, 0x27, 0xb5, 0x11, 0xcf, 0xa3, 0x9e, 0x09, 0x9e, 0xde, 0xa0, 0x2e, 0xec, 0x70, 0x3f, 0x72,
0xe9, 0x19, 0xe1, 0x02, 0xd3, 0x98, 0x25, 0xa2, 0xb9, 0x69, 0x9a, 0x8f, 0x6e, 0xe9, 0xed, 0xac,
0xa5, 0xb7, 0x4f, 0x4c, 0x4b, 0xc7, 0xab, 0x12, 0x68, 0x1f, 0x1e, 0xba, 0x2c, 0x12, 0x09, 0x0b,
0x02, 0x9a, 0xc8, 0x0a, 0xe3, 0x31, 0x71, 0x69, 0xb3, 0xac, 0xee, 0x5f, 0x77, 0x24, 0x1f, 0x93,
0x81, 0x07, 0x01, 0x89, 0x68, 0xb3, 0xa2, 0x6c, 0x5a, 0xc2, 0x9c, 0xbf, 0xdb, 0x00, 0x23, 0x12,
0x67, 0x15, 0x8e, 0xa0, 0x18, 0x33, 0x4f, 0x07, 0xa8, 0x5f, 0xc0, 0x72, 0x83, 0x76, 0x97, 0x62,
0x61, 0x9b, 0xa3, 0x95, 0x68, 0x84, 0xe4, 0x8f, 0x38, 0xe6, 0x2a, 0x52, 0x36, 0x36, 0x3b, 0x89,
0x0b, 0x36, 0x90, 0xee, 0xca, 0x28, 0xd5, 0xb1, 0xd9, 0xc9, 0x3c, 0x08, 0x76, 0x3a, 0x50, 0x41,
0xaa, 0x62, 0xb5, 0x46, 0x2d, 0xa8, 0x5c, 0x27, 0x2c, 0x1c, 0x64, 0xc1, 0xa9, 0xe3, 0x7c, 0x2f,
0xf5, 0xc8, 0xf5, 0xe9, 0xc0, 0x78, 0x6b, 0x76, 0x2a, 0x0b, 0xee, 0x94, 0x86, 0xda, 0x35, 0x99,
0x05, 0xb5, 0x53, 0xf6, 0x50, 0x31, 0x65, 0x5e, 0xb3, 0xaa, 0x71, 0xbd, 0x93, 0xa5, 0x48, 0x52,
0x31, 0x65, 0x89, 0x2f, 0x66, 0x4d, 0xd0, 0xa5, 0x98, 0x03, 0xd2, 0xaa, 0x98, 0x88, 0x69, 0xb3,
0xa6, 0xad, 0x92, 0xeb, 0xe3, 0x0a, 0x6c, 0xea, 0xfe, 0xe4, 0xec, 0x42, 0xa5, 0x13, 0xfb, 0xbd,
0x24, 0x61, 0x89, 0xcc, 0x32, 0x95, 0x0b, 0x53, 0x48, 0x7a, 0xe3, 0x0c, 0xa0, 0x82, 0xa9, 0xee,
0x54, 0xf2, 0xa6, 0x28, 0x4f, 0x91, 0x79, 0x12, 0x39, 0xa0, 0xfc, 0x9f, 0xc5, 0xd9, 0x6b, 0x50,
0xeb, 0xbc, 0x36, 0x8b, 0xf3, 0xda, 0x74, 0x62, 0x78, 0x90, 0x69, 0x1c, 0xd2, 0x80, 0xba, 0xb2,
0x30, 0xd0, 0x33, 0xa8, 0x24, 0x06, 0x34, 0xff, 0x37, 0xcd, 0xd5, 0xca, 0xcf, 0x84, 0x70, 0xce,
0x44, 0x3f, 0x86, 0x6d, 0xf5, 0x0f, 0x3d, 0xe6, 0x4a, 0x11, 0x4b, 0xcc, 0xe5, 0x75, 0x85, 0x0e,
0x0d, 0xe8, 0xfc, 0x0e, 0xea, 0x99, 0xb0, 0x76, 0xf5, 0xdd, 0x6e, 0xcb, 0x03, 0x64, 0x2f, 0x06,
0xe8, 0x3f, 0x36, 0xa0, 0xa1, 0x20, 0x62, 0xa8, 0x3a, 0xca, 0x2c, 0xab, 0xb9, 0x17, 0x50, 0xc9,
0x8d, 0xd2, 0x57, 0x7c, 0x7c, 0xdf, 0x15, 0x79, 0x14, 0x70, 0x2e, 0x82, 0x3e, 0x07, 0xf5, 0xaf,
0x39, 0x7e, 0xeb, 0x1e, 0x0b, 0x22, 0x5f, 0xa3, 0x9f, 0x42, 0x29, 0x62, 0x11, 0x35, 0xb3, 0xc0,
0x0f, 0x56, 0xa5, 0x54, 0xbb, 0xeb, 0x17, 0xb0, 0x22, 0xa1, 0x63, 0xd8, 0x61, 0xa9, 0x18, 0x0b,
0x36, 0xce, 0x43, 0x52, 0x7a, 0x73, 0x48, 0xfa, 0x05, 0x5c, 0x67, 0xa9, 0x18, 0xb1, 0xbc, 0x30,
0xbe, 0x84, 0x07, 0x52, 0x87, 0x2c, 0xe0, 0xb9, 0x96, 0x8d, 0xef, 0xd4, 0x22, 0x2f, 0xfe, 0x32,
0x61, 0x61, 0x06, 0x1d, 0x03, 0x54, 0x58, 0x2a, 0xae, 0x58, 0x1a, 0x79, 0xce, 0xbf, 0x2d, 0x78,
0xb8, 0x14, 0x57, 0xd3, 0x1f, 0x7f, 0x05, 0x36, 0xbb, 0x31, 0x21, 0x7d, 0xbc, 0xaa, 0x7c, 0x8d,
0x40, 0xfb, 0xf2, 0xa6, 0x5f, 0xc0, 0x36, 0xbb, 0x41, 0x87, 0x8b, 0xf9, 0xab, 0x1d, 0x7c, 0x74,
0x9f, 0x65, 0xaa, 0x46, 0xe4, 0x78, 0xa5, 0xd8, 0xad, 0x5f, 0x83, 0x7d, 0x79, 0x83, 0x9e, 0x43,
0x4d, 0x76, 0xc3, 0xb1, 0x20, 0x57, 0x41, 0x3e, 0xe5, 0x7d, 0xb0, 0xee, 0xfe, 0x91, 0x64, 0x60,
0xe0, 0xd9, 0x92, 0x4b, 0xb7, 0x12, 0x63, 0x8d, 0xf3, 0x2f, 0x0b, 0xe0, 0x98, 0x70, 0xdf, 0x95,
0x54, 0x8e, 0x3e, 0x81, 0x3a, 0x4f, 0x5d, 0x97, 0x72, 0x3e, 0x56, 0x63, 0x9e, 0x72, 0xac, 0x84,
0xb7, 0x0c, 0xd8, 0x95, 0x98, 0x24, 0x5d, 0x13, 0x3f, 0x48, 0x13, 0x6a, 0x48, 0xb6, 0x26, 0x19,
0x50, 0x93, 0x3e, 0x95, 0x6f, 0x41, 0xd0, 0xc8, 0x9d, 0x8d, 0x43, 0x3e, 0x8e, 0x0f, 0xf7, 0x55,
0xfa, 0x4b, 0x78, 0xcb, 0xa0, 0xe7, 0x7c, 0x70, 0xb8, 0xbf, 0xca, 0x3a, 0x3a, 0x54, 0xc9, 0x5e,
0x62, 0x1d, 0x1d, 0xde, 0x61, 0x1d, 0xa9, 0x64, 0x2e, 0xb3, 0x8e, 0x9c, 0xbf, 0x15, 0xa1, 0x9a,
0x3b, 0x8c, 0x3a, 0x50, 0x8d, 0x99, 0x37, 0x56, 0x7f, 0xd8, 0x26, 0x3d, 0xce, 0xbd, 0xe1, 0x91,
0x7f, 0x63, 0x2f, 0x25, 0xb3, 0x5f, 0xc0, 0x95, 0xd8, 0xac, 0x5b, 0xff, 0xb4, 0xa1, 0x92, 0x1d,
0xa0, 0xe7, 0x50, 0x4a, 0xd8, 0x6d, 0x16, 0xe9, 0xc7, 0xdf, 0xad, 0xaa, 0x8d, 0xd9, 0x2d, 0x56,
0x32, 0xad, 0xff, 0x59, 0x50, 0xc4, 0xec, 0xf6, 0x1d, 0xdf, 0xf9, 0xf7, 0x7a, 0x7b, 0x7b, 0xd0,
0x08, 0x29, 0x9f, 0x52, 0x6f, 0x2c, 0xa3, 0xa1, 0xd3, 0xa5, 0x13, 0xb1, 0xad, 0xf1, 0x01, 0xf3,
0x74, 0xc2, 0x1e, 0xc3, 0x8e, 0x60, 0x82, 0x04, 0x0b, 0x44, 0x9d, 0x8b, 0xba, 0x82, 0x73, 0xde,
0x3e, 0x6c, 0xc8, 0x5a, 0xe2, 0xe6, 0x41, 0xdd, 0x31, 0x64, 0x5e, 0x4d, 0x58, 0x13, 0xe5, 0x54,
0xaf, 0xca, 0xf4, 0xc9, 0x0b, 0x80, 0xf9, 0xec, 0x86, 0x1a, 0xb0, 0x85, 0x7b, 0xbf, 0x79, 0xd5,
0x1b, 0x8e, 0xc6, 0xb8, 0x33, 0xea, 0x35, 0x0a, 0xa8, 0x06, 0xe5, 0xb3, 0xce, 0xa8, 0x77, 0xd1,
0xfd, 0xa6, 0x61, 0xc9, 0xe3, 0xe1, 0xab, 0x6e, 0xb7, 0x37, 0x1c, 0xea, 0x63, 0xfb, 0x49, 0x07,
0x60, 0xee, 0xa5, 0x24, 0x8f, 0x7a, 0x17, 0xe3, 0x61, 0xaf, 0xab, 0x25, 0x2f, 0x2f, 0x7a, 0xe3,
0xf3, 0xd3, 0x8b, 0x86, 0x95, 0x9d, 0xc8, 0x8d, 0x8d, 0xb6, 0xa0, 0x22, 0x4f, 0xfa, 0x97, 0xaf,
0x70, 0xa3, 0xf8, 0xa4, 0x03, 0x3b, 0x2b, 0x33, 0x1d, 0x7a, 0x00, 0xf5, 0x51, 0x07, 0xbf, 0xec,
0x8d, 0xc6, 0x27, 0xbd, 0xc1, 0xd9, 0xe5, 0x37, 0x8d, 0x82, 0x84, 0x86, 0x97, 0xaf, 0x70, 0xb7,
0x97, 0x41, 0x16, 0xaa, 0x40, 0xe9, 0xbc, 0x37, 0xec, 0x37, 0xec, 0x27, 0x2f, 0x16, 0xbe, 0xe2,
0xd4, 0x67, 0x19, 0x2a, 0x43, 0x51, 0xde, 0x55, 0x90, 0x8b, 0xc1, 0xe1, 0x7e, 0xc3, 0x52, 0x8b,
0xa3, 0xc3, 0x86, 0xad, 0x17, 0x47, 0x8d, 0xa2, 0xe2, 0x74, 0xbe, 0x6e, 0x94, 0x0e, 0xfe, 0x5b,
0x84, 0x62, 0x27, 0xf6, 0xd1, 0x4b, 0x28, 0xc9, 0x20, 0xa1, 0x8f, 0xd6, 0xcf, 0x8d, 0xa6, 0x6f,
0xb7, 0x1e, 0xdd, 0x77, 0x6c, 0xde, 0x6f, 0x01, 0x7d, 0x0d, 0xb5, 0x85, 0x36, 0x83, 0x9c, 0x37,
0xf6, 0x20, 0xad, 0xf4, 0x93, 0xb7, 0xe8, 0x53, 0x4e, 0x01, 0x7d, 0x01, 0xe5, 0x6c, 0xbe, 0x5c,
0xdf, 0xb4, 0x5b, 0x77, 0x3e, 0xc2, 0x16, 0x26, 0x56, 0xa7, 0x80, 0x7a, 0x50, 0xc9, 0xe6, 0xc9,
0xfb, 0x34, 0xec, 0xae, 0xc2, 0xab, 0x03, 0xa8, 0x53, 0x40, 0x7f, 0x80, 0xea, 0x90, 0x06, 0xd7,
0x5d, 0xf9, 0x29, 0x8d, 0x7e, 0x96, 0x0b, 0x98, 0x2f, 0xf0, 0xc5, 0xef, 0xec, 0x9c, 0x96, 0x79,
0xfa, 0xf3, 0xb7, 0x64, 0x2f, 0xf8, 0x5c, 0x1c, 0x91, 0x18, 0xdd, 0x7d, 0x5e, 0xf9, 0xf8, 0xd6,
0x6a, 0xae, 0xea, 0x1c, 0x91, 0xb8, 0xf7, 0x5a, 0x7e, 0x16, 0x15, 0xf6, 0xad, 0xab, 0x4d, 0x35,
0x65, 0xfe, 0xf2, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xec, 0x4b, 0xec, 0x2d, 0x6a, 0x10, 0x00,
0x00,
}