// Code generated by protoc-gen-go. DO NOT EDIT.
// source: controller/telemetry/telemetry.proto

/*
Package conduit_controller_telemetry is a generated protocol buffer package.

It is generated from these files:
	controller/telemetry/telemetry.proto

It has these top-level messages:
	QueryRequest
	QueryResponse
	Sample
	SampleValue
	ListPodsRequest
*/
package conduit_controller_telemetry

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import conduit_public "github.com/runconduit/conduit/controller/gen/public"

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 QueryRequest struct {
	// required
	Query string `protobuf:"bytes,1,opt,name=query" json:"query,omitempty"`
	// required for timeseries queries
	StartMs int64 `protobuf:"varint,2,opt,name=start_ms,json=startMs" json:"start_ms,omitempty"`
	// required for timeseries queries
	// optional for single data point, but if unset, results will have non-deterministic timestamps
	EndMs int64 `protobuf:"varint,3,opt,name=end_ms,json=endMs" json:"end_ms,omitempty"`
	// required for timeseries queries
	Step string `protobuf:"bytes,4,opt,name=step" json:"step,omitempty"`
}

func (m *QueryRequest) Reset()                    { *m = QueryRequest{} }
func (m *QueryRequest) String() string            { return proto.CompactTextString(m) }
func (*QueryRequest) ProtoMessage()               {}
func (*QueryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *QueryRequest) GetQuery() string {
	if m != nil {
		return m.Query
	}
	return ""
}

func (m *QueryRequest) GetStartMs() int64 {
	if m != nil {
		return m.StartMs
	}
	return 0
}

func (m *QueryRequest) GetEndMs() int64 {
	if m != nil {
		return m.EndMs
	}
	return 0
}

func (m *QueryRequest) GetStep() string {
	if m != nil {
		return m.Step
	}
	return ""
}

type QueryResponse struct {
	Metrics []*Sample `protobuf:"bytes,1,rep,name=metrics" json:"metrics,omitempty"`
}

func (m *QueryResponse) Reset()                    { *m = QueryResponse{} }
func (m *QueryResponse) String() string            { return proto.CompactTextString(m) }
func (*QueryResponse) ProtoMessage()               {}
func (*QueryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *QueryResponse) GetMetrics() []*Sample {
	if m != nil {
		return m.Metrics
	}
	return nil
}

type Sample struct {
	Values []*SampleValue    `protobuf:"bytes,1,rep,name=values" json:"values,omitempty"`
	Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

func (m *Sample) Reset()                    { *m = Sample{} }
func (m *Sample) String() string            { return proto.CompactTextString(m) }
func (*Sample) ProtoMessage()               {}
func (*Sample) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *Sample) GetValues() []*SampleValue {
	if m != nil {
		return m.Values
	}
	return nil
}

func (m *Sample) GetLabels() map[string]string {
	if m != nil {
		return m.Labels
	}
	return nil
}

type SampleValue struct {
	Value       float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"`
	TimestampMs int64   `protobuf:"varint,2,opt,name=timestamp_ms,json=timestampMs" json:"timestamp_ms,omitempty"`
}

func (m *SampleValue) Reset()                    { *m = SampleValue{} }
func (m *SampleValue) String() string            { return proto.CompactTextString(m) }
func (*SampleValue) ProtoMessage()               {}
func (*SampleValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *SampleValue) GetValue() float64 {
	if m != nil {
		return m.Value
	}
	return 0
}

func (m *SampleValue) GetTimestampMs() int64 {
	if m != nil {
		return m.TimestampMs
	}
	return 0
}

type ListPodsRequest struct {
}

func (m *ListPodsRequest) Reset()                    { *m = ListPodsRequest{} }
func (m *ListPodsRequest) String() string            { return proto.CompactTextString(m) }
func (*ListPodsRequest) ProtoMessage()               {}
func (*ListPodsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func init() {
	proto.RegisterType((*QueryRequest)(nil), "conduit.controller.telemetry.QueryRequest")
	proto.RegisterType((*QueryResponse)(nil), "conduit.controller.telemetry.QueryResponse")
	proto.RegisterType((*Sample)(nil), "conduit.controller.telemetry.Sample")
	proto.RegisterType((*SampleValue)(nil), "conduit.controller.telemetry.SampleValue")
	proto.RegisterType((*ListPodsRequest)(nil), "conduit.controller.telemetry.ListPodsRequest")
}

// 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 Telemetry service

type TelemetryClient interface {
	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error)
	ListPods(ctx context.Context, in *ListPodsRequest, opts ...grpc.CallOption) (*conduit_public.ListPodsResponse, error)
}

type telemetryClient struct {
	cc *grpc.ClientConn
}

func NewTelemetryClient(cc *grpc.ClientConn) TelemetryClient {
	return &telemetryClient{cc}
}

func (c *telemetryClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) {
	out := new(QueryResponse)
	err := grpc.Invoke(ctx, "/conduit.controller.telemetry.Telemetry/Query", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *telemetryClient) ListPods(ctx context.Context, in *ListPodsRequest, opts ...grpc.CallOption) (*conduit_public.ListPodsResponse, error) {
	out := new(conduit_public.ListPodsResponse)
	err := grpc.Invoke(ctx, "/conduit.controller.telemetry.Telemetry/ListPods", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for Telemetry service

type TelemetryServer interface {
	Query(context.Context, *QueryRequest) (*QueryResponse, error)
	ListPods(context.Context, *ListPodsRequest) (*conduit_public.ListPodsResponse, error)
}

func RegisterTelemetryServer(s *grpc.Server, srv TelemetryServer) {
	s.RegisterService(&_Telemetry_serviceDesc, srv)
}

func _Telemetry_Query_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TelemetryServer).Query(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/conduit.controller.telemetry.Telemetry/Query",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TelemetryServer).Query(ctx, req.(*QueryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Telemetry_ListPods_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListPodsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TelemetryServer).ListPods(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/conduit.controller.telemetry.Telemetry/ListPods",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TelemetryServer).ListPods(ctx, req.(*ListPodsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Telemetry_serviceDesc = grpc.ServiceDesc{
	ServiceName: "conduit.controller.telemetry.Telemetry",
	HandlerType: (*TelemetryServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Query",
			Handler:    _Telemetry_Query_Handler,
		},
		{
			MethodName: "ListPods",
			Handler:    _Telemetry_ListPods_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "controller/telemetry/telemetry.proto",
}

func init() { proto.RegisterFile("controller/telemetry/telemetry.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 388 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4d, 0x4f, 0xdb, 0x40,
	0x10, 0xed, 0xc6, 0x89, 0x93, 0x8c, 0x53, 0x35, 0x5d, 0xb5, 0x92, 0x6b, 0xf5, 0xe0, 0x5a, 0x39,
	0xa4, 0xad, 0xea, 0x54, 0xe9, 0xa5, 0x70, 0x40, 0xe2, 0x00, 0xe2, 0x90, 0x08, 0x30, 0x88, 0x1b,
	0x42, 0xfe, 0x98, 0x83, 0x61, 0xfd, 0x11, 0xef, 0x1a, 0x29, 0x7f, 0x12, 0xf1, 0x93, 0xd0, 0xae,
	0xed, 0xd8, 0xe2, 0x10, 0xe5, 0x36, 0x33, 0xfb, 0xde, 0xdb, 0x37, 0x1f, 0x30, 0x0b, 0xb3, 0x54,
	0x14, 0x19, 0x63, 0x58, 0x2c, 0x04, 0x32, 0x4c, 0x50, 0x14, 0xdb, 0x36, 0x72, 0xf3, 0x22, 0x13,
	0x19, 0xfd, 0x1e, 0x66, 0x69, 0x54, 0xc6, 0xc2, 0x6d, 0xd1, 0xee, 0x0e, 0x63, 0x4d, 0xf3, 0x32,
	0x60, 0x71, 0xb8, 0xf0, 0xf3, 0xb8, 0xc2, 0x3b, 0x8f, 0x30, 0xb9, 0x2e, 0xb1, 0xd8, 0x7a, 0xb8,
	0x29, 0x91, 0x0b, 0xfa, 0x05, 0x06, 0x1b, 0x99, 0x9b, 0xc4, 0x26, 0xf3, 0xb1, 0x57, 0x25, 0xf4,
	0x1b, 0x8c, 0xb8, 0xf0, 0x0b, 0xf1, 0x90, 0x70, 0xb3, 0x67, 0x93, 0xb9, 0xe6, 0x0d, 0x55, 0xbe,
	0xe6, 0xf4, 0x2b, 0xe8, 0x98, 0x46, 0xf2, 0x41, 0x53, 0x0f, 0x03, 0x4c, 0xa3, 0x35, 0xa7, 0x14,
	0xfa, 0x5c, 0x60, 0x6e, 0xf6, 0x95, 0x8c, 0x8a, 0x9d, 0x4b, 0xf8, 0x58, 0xff, 0xc5, 0xf3, 0x2c,
	0xe5, 0x48, 0x4f, 0x60, 0x28, 0x7d, 0xc5, 0x21, 0x37, 0x89, 0xad, 0xcd, 0x8d, 0xe5, 0xcc, 0xdd,
	0x67, 0xdf, 0xbd, 0xf1, 0x93, 0x9c, 0xa1, 0xd7, 0x90, 0x9c, 0x57, 0x02, 0x7a, 0x55, 0xa3, 0xa7,
	0xa0, 0x3f, 0xfb, 0xac, 0xc4, 0x46, 0xe9, 0xe7, 0x21, 0x4a, 0x77, 0x92, 0xe1, 0xd5, 0x44, 0x7a,
	0x01, 0x3a, 0xf3, 0x03, 0x64, 0xb2, 0x45, 0x29, 0xf1, 0xf7, 0x10, 0x09, 0x77, 0xa5, 0x28, 0x67,
	0xa9, 0x28, 0xb6, 0x5e, 0xcd, 0xb7, 0x8e, 0xc0, 0xe8, 0x94, 0xe9, 0x14, 0xb4, 0x27, 0x6c, 0x26,
	0x2a, 0x43, 0x39, 0x65, 0xf5, 0xa9, 0x1a, 0xe6, 0xd8, 0xab, 0x92, 0xe3, 0xde, 0x7f, 0xe2, 0x9c,
	0x83, 0xd1, 0xf1, 0xd6, 0x02, 0x25, 0x99, 0xd4, 0x40, 0xfa, 0x03, 0x26, 0x22, 0x4e, 0x90, 0x0b,
	0x3f, 0xc9, 0xdb, 0x95, 0x18, 0xbb, 0xda, 0x9a, 0x3b, 0x9f, 0xe1, 0xd3, 0x2a, 0xe6, 0xe2, 0x2a,
	0x8b, 0x78, 0xbd, 0xda, 0xe5, 0x0b, 0x81, 0xf1, 0x6d, 0x63, 0x9f, 0x06, 0x30, 0x50, 0xcb, 0xa0,
	0xbf, 0xf6, 0xb7, 0xd9, 0xbd, 0x0e, 0xeb, 0xf7, 0x41, 0xd8, 0x6a, 0xbb, 0xce, 0x07, 0x7a, 0x0f,
	0xa3, 0xc6, 0x04, 0xfd, 0xb3, 0x9f, 0xfa, 0xce, 0xac, 0x65, 0xef, 0xe0, 0xd5, 0xc9, 0x76, 0x00,
	0x8d, 0x7c, 0xa0, 0xab, 0x13, 0xfe, 0xf7, 0x16, 0x00, 0x00, 0xff, 0xff, 0x50, 0x14, 0x20, 0x8d,
	0x1a, 0x03, 0x00, 0x00,
}
