func (*StringMatch) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*StringMatch_Exact)(nil),
		(*StringMatch_Prefix)(nil),
		(*StringMatch_Regex)(nil),
	}
}
XXX_OneofWrappers is for the internal use of the proto package.
package v1alpha1
import (
	fmt "fmt"
	proto "github.com/gogo/protobuf/proto"
	io "io"
	_ "istio.io/gogo-genproto/googleapis/google/api"
	math "math"
	math_bits "math/bits"
)
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
const _ = proto.GoGoProtoPackageIsVersion3  
type MetaRouter struct {
	Hosts                []string     `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
	Routes               []*MetaRoute `protobuf:"bytes,3,rep,name=routes,proto3" json:"routes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}
func (m *MetaRouter) Reset()         { *m = MetaRouter{} }
func (m *MetaRouter) String() string { return proto.CompactTextString(m) }
func (*MetaRouter) ProtoMessage()    {}
func (*MetaRouter) Descriptor() ([]byte, []int) {
	return fileDescriptor_1e2715e051935576, []int{0}
}
func (m *MetaRouter) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MetaRouter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MetaRouter.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *MetaRouter) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MetaRouter.Merge(m, src)
}
func (m *MetaRouter) XXX_Size() int {
	return m.Size()
}
func (m *MetaRouter) XXX_DiscardUnknown() {
	xxx_messageInfo_MetaRouter.DiscardUnknown(m)
}
var xxx_messageInfo_MetaRouter proto.InternalMessageInfo
func (m *MetaRouter) GetHosts() []string {
	if m != nil {
		return m.Hosts
	}
	return nil
}
func (m *MetaRouter) GetRoutes() []*MetaRoute {
	if m != nil {
		return m.Routes
	}
	return nil
}
type MetaRoute struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Match *MetaRouteMatch `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
	Route                []*MetaRouteDestination `protobuf:"bytes,3,rep,name=route,proto3" json:"route,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}
func (m *MetaRoute) Reset()         { *m = MetaRoute{} }
func (m *MetaRoute) String() string { return proto.CompactTextString(m) }
func (*MetaRoute) ProtoMessage()    {}
func (*MetaRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_1e2715e051935576, []int{1}
}
func (m *MetaRoute) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MetaRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MetaRoute.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *MetaRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MetaRoute.Merge(m, src)
}
func (m *MetaRoute) XXX_Size() int {
	return m.Size()
}
func (m *MetaRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_MetaRoute.DiscardUnknown(m)
}
var xxx_messageInfo_MetaRoute proto.InternalMessageInfo
func (m *MetaRoute) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}
func (m *MetaRoute) GetMatch() *MetaRouteMatch {
	if m != nil {
		return m.Match
	}
	return nil
}
func (m *MetaRoute) GetRoute() []*MetaRouteDestination {
	if m != nil {
		return m.Route
	}
	return nil
}
type MetaRouteMatch struct {
	Attributes           map[string]*StringMatch `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}
func (m *MetaRouteMatch) Reset()         { *m = MetaRouteMatch{} }
func (m *MetaRouteMatch) String() string { return proto.CompactTextString(m) }
func (*MetaRouteMatch) ProtoMessage()    {}
func (*MetaRouteMatch) Descriptor() ([]byte, []int) {
	return fileDescriptor_1e2715e051935576, []int{2}
}
func (m *MetaRouteMatch) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MetaRouteMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MetaRouteMatch.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *MetaRouteMatch) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MetaRouteMatch.Merge(m, src)
}
func (m *MetaRouteMatch) XXX_Size() int {
	return m.Size()
}
func (m *MetaRouteMatch) XXX_DiscardUnknown() {
	xxx_messageInfo_MetaRouteMatch.DiscardUnknown(m)
}
var xxx_messageInfo_MetaRouteMatch proto.InternalMessageInfo
func (m *MetaRouteMatch) GetAttributes() map[string]*StringMatch {
	if m != nil {
		return m.Attributes
	}
	return nil
}
type StringMatch struct {
	MatchType            isStringMatch_MatchType `protobuf_oneof:"match_type"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}
func (m *StringMatch) Reset()         { *m = StringMatch{} }
func (m *StringMatch) String() string { return proto.CompactTextString(m) }
func (*StringMatch) ProtoMessage()    {}
func (*StringMatch) Descriptor() ([]byte, []int) {
	return fileDescriptor_1e2715e051935576, []int{3}
}
func (m *StringMatch) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *StringMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_StringMatch.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *StringMatch) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StringMatch.Merge(m, src)
}
func (m *StringMatch) XXX_Size() int {
	return m.Size()
}
func (m *StringMatch) XXX_DiscardUnknown() {
	xxx_messageInfo_StringMatch.DiscardUnknown(m)
}
var xxx_messageInfo_StringMatch proto.InternalMessageInfo
type isStringMatch_MatchType interface {
	isStringMatch_MatchType()
	MarshalTo([]byte) (int, error)
	Size() int
}
type StringMatch_Exact struct {
	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof" json:"exact,omitempty"`
}
type StringMatch_Prefix struct {
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"`
}
type StringMatch_Regex struct {
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof" json:"regex,omitempty"`
}
func (*StringMatch_Exact) isStringMatch_MatchType()  {}
func (*StringMatch_Prefix) isStringMatch_MatchType() {}
func (*StringMatch_Regex) isStringMatch_MatchType()  {}
func (m *StringMatch) GetMatchType() isStringMatch_MatchType {
	if m != nil {
		return m.MatchType
	}
	return nil
}
func (m *StringMatch) GetExact() string {
	if x, ok := m.GetMatchType().(*StringMatch_Exact); ok {
		return x.Exact
	}
	return ""
}
func (m *StringMatch) GetPrefix() string {
	if x, ok := m.GetMatchType().(*StringMatch_Prefix); ok {
		return x.Prefix
	}
	return ""
}
func (m *StringMatch) GetRegex() string {
	if x, ok := m.GetMatchType().(*StringMatch_Regex); ok {
		return x.Regex
	}
	return ""
}