// Code generated by protoc-gen-go. DO NOT EDIT.
// source: test_platform/migration/test_runner/config.proto

package test_runner

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	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

// Config describes how to split the entire traffic coming into CTP between
// test_runner and skylab_swarming_worker.
// The CTP requests directed to test_runner via
// request.migrations.use_test_runner are not affected by this config.
type Config struct {
	RedirectInstructions []*RedirectInstruction `protobuf:"bytes,1,rep,name=redirect_instructions,json=redirectInstructions,proto3" json:"redirect_instructions,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

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

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

var xxx_messageInfo_Config proto.InternalMessageInfo

func (m *Config) GetRedirectInstructions() []*RedirectInstruction {
	if m != nil {
		return m.RedirectInstructions
	}
	return nil
}

// RedirectInstruction describes the fraction and the type of traffic to
// send to test_runner.
type RedirectInstruction struct {
	// Redirect a fraction of traffic that satisfies the constraint.
	Constraint *TrafficConstraint `protobuf:"bytes,1,opt,name=constraint,proto3" json:"constraint,omitempty"`
	// The probability of sending a given CTP request to test_runner as a
	// percentage. Should be in (0, 100].
	PercentOfRequests    int32    `protobuf:"varint,2,opt,name=percent_of_requests,json=percentOfRequests,proto3" json:"percent_of_requests,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_RedirectInstruction proto.InternalMessageInfo

func (m *RedirectInstruction) GetConstraint() *TrafficConstraint {
	if m != nil {
		return m.Constraint
	}
	return nil
}

func (m *RedirectInstruction) GetPercentOfRequests() int32 {
	if m != nil {
		return m.PercentOfRequests
	}
	return 0
}

// TrafficConstraint describes a way to filter CTP requests.
// The constraints are evaluated right before the execute step. Thus, the
// predecing steps (e.g. traffic splitter) may modify the inputs into the
// contraints before evaluation.
type TrafficConstraint struct {
	// The DUT pool as it would appear in a Skylab request, e.g
	// "DUT_POOL_QUOTA", "DUT_POOL_CTS", "wificell".
	DutPool string `protobuf:"bytes,1,opt,name=dut_pool,json=dutPool,proto3" json:"dut_pool,omitempty"`
	// The quota account as it would appear in a Skylab request, e.g. "pcq".
	// Ignored if empty.
	QuotaAccount         string   `protobuf:"bytes,2,opt,name=quota_account,json=quotaAccount,proto3" json:"quota_account,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_TrafficConstraint proto.InternalMessageInfo

func (m *TrafficConstraint) GetDutPool() string {
	if m != nil {
		return m.DutPool
	}
	return ""
}

func (m *TrafficConstraint) GetQuotaAccount() string {
	if m != nil {
		return m.QuotaAccount
	}
	return ""
}

func init() {
	proto.RegisterType((*Config)(nil), "test_platform.migration.test_runner.Config")
	proto.RegisterType((*RedirectInstruction)(nil), "test_platform.migration.test_runner.RedirectInstruction")
	proto.RegisterType((*TrafficConstraint)(nil), "test_platform.migration.test_runner.TrafficConstraint")
}

func init() {
	proto.RegisterFile("test_platform/migration/test_runner/config.proto", fileDescriptor_490a08eeccce0516)
}

var fileDescriptor_490a08eeccce0516 = []byte{
	// 296 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0x31, 0x4f, 0x72, 0x31,
	0x14, 0x86, 0x73, 0xbf, 0x2f, 0xa2, 0x14, 0x1d, 0xb8, 0x68, 0x82, 0x1b, 0x81, 0x85, 0xa9, 0x35,
	0x98, 0x18, 0x57, 0x65, 0x72, 0x30, 0x98, 0x6a, 0x1c, 0x5c, 0x9a, 0x5a, 0xda, 0x6b, 0x13, 0x6e,
	0xcf, 0xe5, 0xf4, 0x34, 0xfe, 0x1a, 0xff, 0xab, 0xa1, 0x22, 0x62, 0x70, 0x60, 0x3c, 0xef, 0x79,
	0x9f, 0xa7, 0x4d, 0x0e, 0xbb, 0x20, 0x1b, 0x49, 0x35, 0x0b, 0x4d, 0x0e, 0xb0, 0x16, 0xb5, 0xaf,
	0x50, 0x93, 0x87, 0x20, 0x72, 0x8e, 0x29, 0x04, 0x8b, 0xc2, 0x40, 0x70, 0xbe, 0xe2, 0x0d, 0x02,
	0x41, 0x39, 0xfa, 0x45, 0xf0, 0x0d, 0xc1, 0xb7, 0x88, 0xe1, 0x3b, 0x6b, 0x4d, 0x33, 0x54, 0xd6,
	0xec, 0x0c, 0xed, 0xdc, 0xa3, 0x35, 0xa4, 0x7c, 0x88, 0x84, 0xc9, 0xac, 0xda, 0xb1, 0x5f, 0x0c,
	0xfe, 0x8f, 0x3b, 0x93, 0x6b, 0xbe, 0x87, 0x8e, 0xcb, 0xb5, 0xe1, 0xee, 0x47, 0x20, 0x4f, 0x71,
	0x37, 0x8c, 0xc3, 0x8f, 0x82, 0xf5, 0xfe, 0x68, 0x97, 0xcf, 0x8c, 0x19, 0x58, 0xcd, 0xda, 0x07,
	0xea, 0x17, 0x83, 0x62, 0xdc, 0x99, 0x5c, 0xed, 0xf5, 0xf6, 0x13, 0x6a, 0xe7, 0xbc, 0x99, 0x6e,
	0x68, 0xb9, 0x65, 0x2a, 0x39, 0xeb, 0x35, 0x16, 0x8d, 0x0d, 0xa4, 0xc0, 0x29, 0xb4, 0xcb, 0x64,
	0x23, 0xc5, 0xfe, 0xbf, 0x41, 0x31, 0x3e, 0x90, 0xdd, 0xf5, 0x6a, 0xe6, 0xe4, 0x7a, 0x31, 0x7c,
	0x64, 0xdd, 0x1d, 0x61, 0x79, 0xce, 0x8e, 0xe6, 0x89, 0x54, 0x03, 0xb0, 0xc8, 0x5f, 0x6b, 0xcb,
	0xc3, 0x79, 0xa2, 0x07, 0x80, 0x45, 0x39, 0x62, 0x27, 0xcb, 0x04, 0xa4, 0x95, 0x36, 0x06, 0x52,
	0xa0, 0x6c, 0x6e, 0xcb, 0xe3, 0x1c, 0xde, 0x7c, 0x65, 0xb7, 0xb3, 0x97, 0xfb, 0x0a, 0xb8, 0x79,
	0x43, 0xa8, 0x7d, 0xaa, 0x39, 0x60, 0x25, 0xbe, 0x07, 0x88, 0xc2, 0x07, 0x87, 0x5a, 0xe4, 0xe3,
	0x89, 0x0a, 0xc4, 0x1e, 0x07, 0x7f, 0x6d, 0xe5, 0xf6, 0xe5, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff,
	0xde, 0x4f, 0x32, 0xe3, 0x1e, 0x02, 0x00, 0x00,
}
