// Code generated by protoc-gen-go. DO NOT EDIT.
// source: envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto

package envoy_config_filter_network_thrift_proxy_v2alpha1

import (
	fmt "fmt"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	proto "github.com/golang/protobuf/proto"
	any "github.com/golang/protobuf/ptypes/any"
	_struct "github.com/golang/protobuf/ptypes/struct"
	math "math"
)

// 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.ProtoPackageIsVersion3 // please upgrade the proto package

type TransportType int32

const (
	TransportType_AUTO_TRANSPORT TransportType = 0
	TransportType_FRAMED         TransportType = 1
	TransportType_UNFRAMED       TransportType = 2
	TransportType_HEADER         TransportType = 3
)

var TransportType_name = map[int32]string{
	0: "AUTO_TRANSPORT",
	1: "FRAMED",
	2: "UNFRAMED",
	3: "HEADER",
}

var TransportType_value = map[string]int32{
	"AUTO_TRANSPORT": 0,
	"FRAMED":         1,
	"UNFRAMED":       2,
	"HEADER":         3,
}

func (x TransportType) String() string {
	return proto.EnumName(TransportType_name, int32(x))
}

func (TransportType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_e8fab7646d88fc90, []int{0}
}

type ProtocolType int32

const (
	ProtocolType_AUTO_PROTOCOL ProtocolType = 0
	ProtocolType_BINARY        ProtocolType = 1
	ProtocolType_LAX_BINARY    ProtocolType = 2
	ProtocolType_COMPACT       ProtocolType = 3
	ProtocolType_TWITTER       ProtocolType = 4
)

var ProtocolType_name = map[int32]string{
	0: "AUTO_PROTOCOL",
	1: "BINARY",
	2: "LAX_BINARY",
	3: "COMPACT",
	4: "TWITTER",
}

var ProtocolType_value = map[string]int32{
	"AUTO_PROTOCOL": 0,
	"BINARY":        1,
	"LAX_BINARY":    2,
	"COMPACT":       3,
	"TWITTER":       4,
}

func (x ProtocolType) String() string {
	return proto.EnumName(ProtocolType_name, int32(x))
}

func (ProtocolType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_e8fab7646d88fc90, []int{1}
}

type ThriftProxy struct {
	Transport            TransportType       `protobuf:"varint,2,opt,name=transport,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType" json:"transport,omitempty"`
	Protocol             ProtocolType        `protobuf:"varint,3,opt,name=protocol,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType" json:"protocol,omitempty"`
	StatPrefix           string              `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	RouteConfig          *RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"`
	ThriftFilters        []*ThriftFilter     `protobuf:"bytes,5,rep,name=thrift_filters,json=thriftFilters,proto3" json:"thrift_filters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

func (m *ThriftProxy) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ThriftProxy.Unmarshal(m, b)
}
func (m *ThriftProxy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ThriftProxy.Marshal(b, m, deterministic)
}
func (m *ThriftProxy) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ThriftProxy.Merge(m, src)
}
func (m *ThriftProxy) XXX_Size() int {
	return xxx_messageInfo_ThriftProxy.Size(m)
}
func (m *ThriftProxy) XXX_DiscardUnknown() {
	xxx_messageInfo_ThriftProxy.DiscardUnknown(m)
}

var xxx_messageInfo_ThriftProxy proto.InternalMessageInfo

func (m *ThriftProxy) GetTransport() TransportType {
	if m != nil {
		return m.Transport
	}
	return TransportType_AUTO_TRANSPORT
}

func (m *ThriftProxy) GetProtocol() ProtocolType {
	if m != nil {
		return m.Protocol
	}
	return ProtocolType_AUTO_PROTOCOL
}

func (m *ThriftProxy) GetStatPrefix() string {
	if m != nil {
		return m.StatPrefix
	}
	return ""
}

func (m *ThriftProxy) GetRouteConfig() *RouteConfiguration {
	if m != nil {
		return m.RouteConfig
	}
	return nil
}

func (m *ThriftProxy) GetThriftFilters() []*ThriftFilter {
	if m != nil {
		return m.ThriftFilters
	}
	return nil
}

type ThriftFilter struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to ConfigType:
	//	*ThriftFilter_Config
	//	*ThriftFilter_TypedConfig
	ConfigType           isThriftFilter_ConfigType `protobuf_oneof:"config_type"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

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

func (m *ThriftFilter) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ThriftFilter.Unmarshal(m, b)
}
func (m *ThriftFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ThriftFilter.Marshal(b, m, deterministic)
}
func (m *ThriftFilter) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ThriftFilter.Merge(m, src)
}
func (m *ThriftFilter) XXX_Size() int {
	return xxx_messageInfo_ThriftFilter.Size(m)
}
func (m *ThriftFilter) XXX_DiscardUnknown() {
	xxx_messageInfo_ThriftFilter.DiscardUnknown(m)
}

var xxx_messageInfo_ThriftFilter proto.InternalMessageInfo

func (m *ThriftFilter) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

type isThriftFilter_ConfigType interface {
	isThriftFilter_ConfigType()
}

type ThriftFilter_Config struct {
	Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
}

type ThriftFilter_TypedConfig struct {
	TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}

func (*ThriftFilter_Config) isThriftFilter_ConfigType() {}

func (*ThriftFilter_TypedConfig) isThriftFilter_ConfigType() {}

func (m *ThriftFilter) GetConfigType() isThriftFilter_ConfigType {
	if m != nil {
		return m.ConfigType
	}
	return nil
}

// Deprecated: Do not use.
func (m *ThriftFilter) GetConfig() *_struct.Struct {
	if x, ok := m.GetConfigType().(*ThriftFilter_Config); ok {
		return x.Config
	}
	return nil
}

func (m *ThriftFilter) GetTypedConfig() *any.Any {
	if x, ok := m.GetConfigType().(*ThriftFilter_TypedConfig); ok {
		return x.TypedConfig
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*ThriftFilter) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ThriftFilter_Config)(nil),
		(*ThriftFilter_TypedConfig)(nil),
	}
}

type ThriftProtocolOptions struct {
	Transport            TransportType `protobuf:"varint,1,opt,name=transport,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType" json:"transport,omitempty"`
	Protocol             ProtocolType  `protobuf:"varint,2,opt,name=protocol,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType" json:"protocol,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

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

func (m *ThriftProtocolOptions) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ThriftProtocolOptions.Unmarshal(m, b)
}
func (m *ThriftProtocolOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ThriftProtocolOptions.Marshal(b, m, deterministic)
}
func (m *ThriftProtocolOptions) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ThriftProtocolOptions.Merge(m, src)
}
func (m *ThriftProtocolOptions) XXX_Size() int {
	return xxx_messageInfo_ThriftProtocolOptions.Size(m)
}
func (m *ThriftProtocolOptions) XXX_DiscardUnknown() {
	xxx_messageInfo_ThriftProtocolOptions.DiscardUnknown(m)
}

var xxx_messageInfo_ThriftProtocolOptions proto.InternalMessageInfo

func (m *ThriftProtocolOptions) GetTransport() TransportType {
	if m != nil {
		return m.Transport
	}
	return TransportType_AUTO_TRANSPORT
}

func (m *ThriftProtocolOptions) GetProtocol() ProtocolType {
	if m != nil {
		return m.Protocol
	}
	return ProtocolType_AUTO_PROTOCOL
}

func init() {
	proto.RegisterEnum("envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType", TransportType_name, TransportType_value)
	proto.RegisterEnum("envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType", ProtocolType_name, ProtocolType_value)
	proto.RegisterType((*ThriftProxy)(nil), "envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProxy")
	proto.RegisterType((*ThriftFilter)(nil), "envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftFilter")
	proto.RegisterType((*ThriftProtocolOptions)(nil), "envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions")
}

func init() {
	proto.RegisterFile("envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto", fileDescriptor_e8fab7646d88fc90)
}

var fileDescriptor_e8fab7646d88fc90 = []byte{
	// 565 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xcb, 0x6e, 0xda, 0x40,
	0x14, 0xcd, 0xd8, 0xe4, 0x75, 0x0d, 0xc8, 0x1d, 0xb5, 0x8a, 0x9b, 0x76, 0x81, 0x58, 0xa1, 0x2c,
	0x6c, 0x85, 0xaa, 0x8b, 0x2e, 0xaa, 0xd4, 0x06, 0x22, 0x90, 0x12, 0x6c, 0x4d, 0x8c, 0xd2, 0xae,
	0x90, 0x43, 0x6c, 0xb0, 0x4a, 0x3d, 0xd6, 0x78, 0xa0, 0x61, 0xdb, 0xef, 0xe9, 0x17, 0xf5, 0x0b,
	0xfa, 0x0d, 0x59, 0x55, 0x9e, 0x31, 0x09, 0xd0, 0x15, 0x48, 0xed, 0xce, 0xf7, 0x75, 0xce, 0xbd,
	0x67, 0x8e, 0x0c, 0xed, 0x30, 0x99, 0xd3, 0x85, 0x35, 0xa2, 0x49, 0x14, 0x8f, 0xad, 0x28, 0x9e,
	0xf2, 0x90, 0x59, 0x49, 0xc8, 0xbf, 0x53, 0xf6, 0xd5, 0xe2, 0x13, 0x16, 0x47, 0x7c, 0x98, 0x32,
	0xfa, 0xb0, 0xb0, 0xe6, 0xcd, 0x60, 0x9a, 0x4e, 0x82, 0xf3, 0xb5, 0xac, 0x99, 0x32, 0xca, 0x29,
	0x3e, 0x17, 0x28, 0xa6, 0x44, 0x31, 0x25, 0x8a, 0x59, 0xa0, 0x98, 0x6b, 0xfd, 0x4b, 0x94, 0xd3,
	0x8f, 0xdb, 0x13, 0x33, 0x3a, 0xe3, 0xa1, 0x64, 0x3c, 0x7d, 0x3d, 0xa6, 0x74, 0x3c, 0x0d, 0x2d,
	0x11, 0xdd, 0xcd, 0x22, 0x2b, 0x48, 0x8a, 0x65, 0x4e, 0xdf, 0x6e, 0x96, 0x32, 0xce, 0x66, 0x23,
	0x5e, 0x54, 0x4f, 0xe6, 0xc1, 0x34, 0xbe, 0x0f, 0x78, 0x68, 0x2d, 0x3f, 0x64, 0xa1, 0xfe, 0x4b,
	0x05, 0xcd, 0x17, 0xbc, 0x5e, 0x4e, 0x8b, 0x27, 0x70, 0xcc, 0x59, 0x90, 0x64, 0x29, 0x65, 0xdc,
	0x50, 0x6a, 0xa8, 0x51, 0x6d, 0x7e, 0x32, 0xb7, 0xbe, 0xd3, 0xf4, 0x97, 0x18, 0xfe, 0x22, 0x0d,
	0x9d, 0xa3, 0x47, 0x67, 0xff, 0x07, 0x52, 0x74, 0x44, 0x9e, 0xc1, 0x71, 0x08, 0x47, 0x62, 0x85,
	0x11, 0x9d, 0x1a, 0xaa, 0x20, 0xba, 0xd8, 0x81, 0xc8, 0x2b, 0x20, 0x36, 0x78, 0x9e, 0xa0, 0x71,
	0x03, 0xb4, 0x8c, 0x07, 0xf9, 0x5c, 0x18, 0xc5, 0x0f, 0x06, 0xaa, 0xa1, 0xc6, 0xb1, 0x73, 0xf8,
	0xe8, 0x94, 0x98, 0x52, 0x43, 0x04, 0xf2, 0x9a, 0x27, 0x4a, 0x78, 0x02, 0x65, 0xa1, 0xf5, 0x50,
	0xf2, 0x1b, 0xa5, 0x1a, 0x6a, 0x68, 0xcd, 0xce, 0x0e, 0x4b, 0x91, 0x1c, 0xa6, 0x25, 0x06, 0x66,
	0x2c, 0xe0, 0x31, 0x4d, 0x88, 0xc6, 0x9e, 0x73, 0x38, 0x82, 0x6a, 0x31, 0x28, 0xe1, 0x32, 0x63,
	0xbf, 0xa6, 0x36, 0xb4, 0x9d, 0x04, 0x90, 0x8f, 0x77, 0x29, 0x5a, 0x49, 0x85, 0xaf, 0x44, 0x59,
	0xfd, 0x27, 0x82, 0xf2, 0x6a, 0x1d, 0xbf, 0x81, 0x52, 0x12, 0x7c, 0x0b, 0x37, 0x55, 0x10, 0x49,
	0xfc, 0x1e, 0x0e, 0x8a, 0xcb, 0x15, 0x71, 0xf9, 0x89, 0x29, 0x2d, 0x65, 0x2e, 0x2d, 0x65, 0xde,
	0x08, 0x4b, 0x39, 0x8a, 0x81, 0xba, 0x7b, 0xa4, 0x68, 0xc6, 0x1f, 0xa0, 0xcc, 0x17, 0x69, 0x78,
	0xbf, 0x94, 0x4d, 0x15, 0xc3, 0x2f, 0xff, 0x1a, 0xb6, 0x93, 0x45, 0x77, 0x8f, 0x68, 0xa2, 0x57,
	0xea, 0xe0, 0x54, 0x40, 0x93, 0x43, 0xc3, 0x3c, 0x5b, 0xff, 0x8d, 0xe0, 0xd5, 0x93, 0x17, 0xc5,
	0xeb, 0xb9, 0x69, 0x2e, 0x5e, 0xb6, 0xee, 0x4a, 0xf4, 0xbf, 0x5c, 0xa9, 0xfc, 0x33, 0x57, 0x9e,
	0xf5, 0xa0, 0xb2, 0xb6, 0x0c, 0xc6, 0x50, 0xb5, 0x07, 0xbe, 0x3b, 0xf4, 0x89, 0xdd, 0xbf, 0xf1,
	0x5c, 0xe2, 0xeb, 0x7b, 0x18, 0xe0, 0xe0, 0x92, 0xd8, 0xd7, 0x9d, 0xb6, 0x8e, 0x70, 0x19, 0x8e,
	0x06, 0xfd, 0x22, 0x52, 0xf2, 0x4a, 0xb7, 0x63, 0xb7, 0x3b, 0x44, 0x57, 0xcf, 0x6e, 0xa1, 0xbc,
	0x4a, 0x87, 0x5f, 0x40, 0x45, 0x20, 0x79, 0xc4, 0xf5, 0xdd, 0x96, 0x7b, 0x25, 0x81, 0x9c, 0x5e,
	0xdf, 0x26, 0x5f, 0x74, 0x84, 0xab, 0x00, 0x57, 0xf6, 0xe7, 0x61, 0x11, 0x2b, 0x58, 0x83, 0xc3,
	0x96, 0x7b, 0xed, 0xd9, 0x2d, 0x5f, 0x57, 0xf3, 0xc0, 0xbf, 0xed, 0xf9, 0x7e, 0x87, 0xe8, 0x25,
	0x67, 0x00, 0x17, 0x31, 0x95, 0xc7, 0xcb, 0xf3, 0xb6, 0xd6, 0xc1, 0xd1, 0x57, 0x7e, 0x2d, 0x62,
	0x49, 0x0f, 0xdd, 0x1d, 0x08, 0x11, 0xde, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x21, 0x03,
	0x61, 0x84, 0x05, 0x00, 0x00,
}
