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

package v2alpha1

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
)

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

// Upstream protocols
type FilterConfig_Protocol int32

const (
	FilterConfig_HTTP10 FilterConfig_Protocol = 0
	FilterConfig_HTTP11 FilterConfig_Protocol = 1
	FilterConfig_HTTP2  FilterConfig_Protocol = 2
)

var FilterConfig_Protocol_name = map[int32]string{
	0: "HTTP10",
	1: "HTTP11",
	2: "HTTP2",
}

var FilterConfig_Protocol_value = map[string]int32{
	"HTTP10": 0,
	"HTTP11": 1,
	"HTTP2":  2,
}

func (x FilterConfig_Protocol) String() string {
	return proto.EnumName(FilterConfig_Protocol_name, int32(x))
}

func (FilterConfig_Protocol) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_9dd199870dce382a, []int{0, 0}
}

// FilterConfig is the config for Istio-specific filter.
type FilterConfig struct {
	// Map from upstream protocol to list of ALPN
	AlpnOverride         []*FilterConfig_AlpnOverride `protobuf:"bytes,1,rep,name=alpn_override,json=alpnOverride,proto3" json:"alpn_override,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
	XXX_unrecognized     []byte                       `json:"-"`
	XXX_sizecache        int32                        `json:"-"`
}

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

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

var xxx_messageInfo_FilterConfig proto.InternalMessageInfo

func (m *FilterConfig) GetAlpnOverride() []*FilterConfig_AlpnOverride {
	if m != nil {
		return m.AlpnOverride
	}
	return nil
}

type FilterConfig_AlpnOverride struct {
	// Upstream protocol
	UpstreamProtocol FilterConfig_Protocol `protobuf:"varint,1,opt,name=upstream_protocol,json=upstreamProtocol,proto3,enum=istio.envoy.config.filter.http.alpn.v2alpha1.FilterConfig_Protocol" json:"upstream_protocol,omitempty"`
	// A list of ALPN that will override the ALPN for upstream TLS connections.
	AlpnOverride         []string `protobuf:"bytes,2,rep,name=alpn_override,json=alpnOverride,proto3" json:"alpn_override,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_FilterConfig_AlpnOverride proto.InternalMessageInfo

func (m *FilterConfig_AlpnOverride) GetUpstreamProtocol() FilterConfig_Protocol {
	if m != nil {
		return m.UpstreamProtocol
	}
	return FilterConfig_HTTP10
}

func (m *FilterConfig_AlpnOverride) GetAlpnOverride() []string {
	if m != nil {
		return m.AlpnOverride
	}
	return nil
}

func init() {
	proto.RegisterEnum("istio.envoy.config.filter.http.alpn.v2alpha1.FilterConfig_Protocol", FilterConfig_Protocol_name, FilterConfig_Protocol_value)
	proto.RegisterType((*FilterConfig)(nil), "istio.envoy.config.filter.http.alpn.v2alpha1.FilterConfig")
	proto.RegisterType((*FilterConfig_AlpnOverride)(nil), "istio.envoy.config.filter.http.alpn.v2alpha1.FilterConfig.AlpnOverride")
}

func init() {
	proto.RegisterFile("envoy/config/filter/http/alpn/v2alpha1/config.proto", fileDescriptor_9dd199870dce382a)
}

var fileDescriptor_9dd199870dce382a = []byte{
	// 258 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0x4e, 0xcd, 0x2b, 0xcb,
	0xaf, 0xd4, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x4f, 0xcb, 0xcc, 0x29, 0x49, 0x2d, 0xd2,
	0xcf, 0x28, 0x29, 0x29, 0xd0, 0x4f, 0xcc, 0x29, 0xc8, 0xd3, 0x2f, 0x33, 0x4a, 0xcc, 0x29, 0xc8,
	0x48, 0x34, 0x84, 0x2a, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xd2, 0xc9, 0x2c, 0x2e, 0xc9,
	0xcc, 0xd7, 0x03, 0x6b, 0xd5, 0x83, 0xca, 0x40, 0xb4, 0xea, 0x81, 0xb4, 0xea, 0x81, 0xb4, 0xea,
	0xc1, 0xb4, 0x2a, 0x5d, 0x66, 0xe2, 0xe2, 0x71, 0x03, 0xcb, 0x3a, 0x83, 0x95, 0x0a, 0xe5, 0x70,
	0xf1, 0x82, 0x54, 0xc4, 0xe7, 0x97, 0xa5, 0x16, 0x15, 0x65, 0xa6, 0xa4, 0x4a, 0x30, 0x2a, 0x30,
	0x6b, 0x70, 0x1b, 0xb9, 0xeb, 0x91, 0x62, 0xac, 0x1e, 0xb2, 0x91, 0x7a, 0x8e, 0x39, 0x05, 0x79,
	0xfe, 0x50, 0xe3, 0x82, 0x78, 0x12, 0x91, 0x78, 0x52, 0x4b, 0x19, 0xb9, 0x78, 0x90, 0xa5, 0x85,
	0x0a, 0xb8, 0x04, 0x4b, 0x0b, 0x8a, 0x4b, 0x8a, 0x52, 0x13, 0x73, 0xe3, 0xc1, 0xfe, 0x49, 0xce,
	0xcf, 0x91, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x33, 0x72, 0xa6, 0xc0, 0x09, 0x01, 0x50, 0xa3, 0x82,
	0x04, 0x60, 0xa6, 0xc3, 0x44, 0x84, 0x94, 0xd1, 0x3d, 0xcc, 0xa4, 0xc0, 0xac, 0xc1, 0x89, 0xea,
	0x4e, 0x25, 0x5d, 0x2e, 0x0e, 0xb8, 0x06, 0x2e, 0x2e, 0x36, 0x8f, 0x90, 0x90, 0x00, 0x43, 0x03,
	0x01, 0x06, 0x38, 0xdb, 0x50, 0x80, 0x51, 0x88, 0x93, 0x8b, 0x15, 0xc4, 0x36, 0x12, 0x60, 0x72,
	0x32, 0x8d, 0x32, 0x86, 0xb8, 0x35, 0x33, 0x5f, 0x3f, 0xb1, 0x20, 0x53, 0x9f, 0xb8, 0x78, 0x4c,
	0x62, 0x03, 0xfb, 0xd8, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xbd, 0xe0, 0x10, 0xdf, 0xf8, 0x01,
	0x00, 0x00,
}
