// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.7
// 	protoc        v5.27.5
// source: github.com/cloudprober/cloudprober/probes/browser/proto/config.proto

package proto

import (
	proto "github.com/cloudprober/cloudprober/probes/browser/artifacts/proto"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type SaveOption int32

const (
	SaveOption_NEVER             SaveOption = 0
	SaveOption_ALWAYS            SaveOption = 1
	SaveOption_ON_FIRST_RETRY    SaveOption = 2
	SaveOption_ON_ALL_RETRIES    SaveOption = 3
	SaveOption_RETAIN_ON_FAILURE SaveOption = 4
)

// Enum value maps for SaveOption.
var (
	SaveOption_name = map[int32]string{
		0: "NEVER",
		1: "ALWAYS",
		2: "ON_FIRST_RETRY",
		3: "ON_ALL_RETRIES",
		4: "RETAIN_ON_FAILURE",
	}
	SaveOption_value = map[string]int32{
		"NEVER":             0,
		"ALWAYS":            1,
		"ON_FIRST_RETRY":    2,
		"ON_ALL_RETRIES":    3,
		"RETAIN_ON_FAILURE": 4,
	}
)

func (x SaveOption) Enum() *SaveOption {
	p := new(SaveOption)
	*p = x
	return p
}

func (x SaveOption) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SaveOption) Descriptor() protoreflect.EnumDescriptor {
	return file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_enumTypes[0].Descriptor()
}

func (SaveOption) Type() protoreflect.EnumType {
	return &file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_enumTypes[0]
}

func (x SaveOption) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *SaveOption) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = SaveOption(num)
	return nil
}

// Deprecated: Use SaveOption.Descriptor instead.
func (SaveOption) EnumDescriptor() ([]byte, []int) {
	return file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescGZIP(), []int{0}
}

type TestMetricsOptions struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	DisableTestMetrics *bool                  `protobuf:"varint,1,opt,name=disable_test_metrics,json=disableTestMetrics" json:"disable_test_metrics,omitempty"`
	DisableAggregation *bool                  `protobuf:"varint,2,opt,name=disable_aggregation,json=disableAggregation" json:"disable_aggregation,omitempty"`
	EnableStepMetrics  *bool                  `protobuf:"varint,3,opt,name=enable_step_metrics,json=enableStepMetrics" json:"enable_step_metrics,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *TestMetricsOptions) Reset() {
	*x = TestMetricsOptions{}
	mi := &file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TestMetricsOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TestMetricsOptions) ProtoMessage() {}

func (x *TestMetricsOptions) ProtoReflect() protoreflect.Message {
	mi := &file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TestMetricsOptions.ProtoReflect.Descriptor instead.
func (*TestMetricsOptions) Descriptor() ([]byte, []int) {
	return file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescGZIP(), []int{0}
}

func (x *TestMetricsOptions) GetDisableTestMetrics() bool {
	if x != nil && x.DisableTestMetrics != nil {
		return *x.DisableTestMetrics
	}
	return false
}

func (x *TestMetricsOptions) GetDisableAggregation() bool {
	if x != nil && x.DisableAggregation != nil {
		return *x.DisableAggregation
	}
	return false
}

func (x *TestMetricsOptions) GetEnableStepMetrics() bool {
	if x != nil && x.EnableStepMetrics != nil {
		return *x.EnableStepMetrics
	}
	return false
}

type TestSpecFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Tests to include. Default is to include all tests matched by test spec.
	// This corresponds to the playwright --grep flag.
	//
	// Example:
	// include: "login|logout"  // include tests with login or logout in title
	// include: "@smoke"        // include tests with @smoke tag
	Include *string `protobuf:"bytes,1,opt,name=include" json:"include,omitempty"`
	// Tests to exclude.
	// This corresponds to the playwright --grep-invert flag.
	//
	// Example:
	// exclude: "@draft|@debug"  // exclude tests with @draft or @debug tag
	Exclude       *string `protobuf:"bytes,2,opt,name=exclude" json:"exclude,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestSpecFilter) Reset() {
	*x = TestSpecFilter{}
	mi := &file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TestSpecFilter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TestSpecFilter) ProtoMessage() {}

func (x *TestSpecFilter) ProtoReflect() protoreflect.Message {
	mi := &file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TestSpecFilter.ProtoReflect.Descriptor instead.
func (*TestSpecFilter) Descriptor() ([]byte, []int) {
	return file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescGZIP(), []int{1}
}

func (x *TestSpecFilter) GetInclude() string {
	if x != nil && x.Include != nil {
		return *x.Include
	}
	return ""
}

func (x *TestSpecFilter) GetExclude() string {
	if x != nil && x.Exclude != nil {
		return *x.Exclude
	}
	return ""
}

type ProbeConf struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Playwright test specs to run.
	//
	// Each entry in test_spec is interpreted as follows:
	//   - If it contains one of the following regex characters:
	//     ^,$,*,|,?,+,(),[],{}, it is treated as a regex pattern and passed
	//     directly to Playwright.
	//   - Otherwise, it is treated as a filename (relative to test_dir or as
	//     an absolute path if specified), and will be wrapped as a regex
	//     matching the full path to that file.
	//
	// Examples:
	//
	//	test_spec: "test_login.ts" // runs tests in file {test_dir}/test_login.ts
	//	test_spec: "sm*.ts"        // runs tests in files matching {test_dir}/sm*.ts
	//
	// If test_spec is not set, all test files in test_dir (default: config
	// file directory) are executed.
	TestSpec []string `protobuf:"bytes,1,rep,name=test_spec,json=testSpec" json:"test_spec,omitempty"`
	// Test directory. This is the directory where test specs are located.
	// Default test_dir is config file directory ("{{configDir}}").
	TestDir *string `protobuf:"bytes,2,opt,name=test_dir,json=testDir" json:"test_dir,omitempty"`
	// Test spec filter. This field corresponds to the grep functionality of
	// playwright.
	//
	// Example:
	//
	//	{
	//	  include: "web|ui"  // include tests with "web" or "ui" in title
	//	  exclude: "@draft"  // exclude tests with @draft tag
	//	}
	TestSpecFilter *TestSpecFilter `protobuf:"bytes,3,opt,name=test_spec_filter,json=testSpecFilter" json:"test_spec_filter,omitempty"`
	// Path to the working directory for this probe. It has no impact on the
	// test execution except for the fact that this directory should be
	// writable. If left unset (recommended), we try to create a temporary
	// directory.
	//
	// You can set this field to a persistent location, e.g. a persistent
	// volume, and configure a large max_age in workdir_cleanup_options to
	// retain workdir files for a long time (default is 1 hour), but it's
	// recommended to use artifacts_options to store artifacts for longer
	// term access.
	Workdir *string `protobuf:"bytes,4,opt,name=workdir" json:"workdir,omitempty"`
	// Path to the playwright installation. We execute tests from this location.
	// If not specified, we'll use the value of environment variable
	// $PLAYWRIGHT_DIR, which is automatically set by the official cloudprober
	// playwright image (tag: "<version>-pw").
	PlaywrightDir *string `protobuf:"bytes,5,opt,name=playwright_dir,json=playwrightDir" json:"playwright_dir,omitempty"`
	// NPX path. Default is to assume npx is in the PATH.
	NpxPath *string `protobuf:"bytes,6,opt,name=npx_path,json=npxPath,def=npx" json:"npx_path,omitempty"`
	// Whether to enable screenshots for successful tests as well.
	// Note that screenshots are always enabled for failed tests, and you can
	// always save screenshots explicitly in the test spec.
	SaveScreenshotsForSuccess *bool `protobuf:"varint,7,opt,name=save_screenshots_for_success,json=saveScreenshotsForSuccess,def=0" json:"save_screenshots_for_success,omitempty"`
	// Traces are expensive and can slow down the test. We recommend to enable
	// this only when needed.
	// Note save_traces is deprecated. Use save_trace instead.
	//
	// Deprecated: Marked as deprecated in github.com/cloudprober/cloudprober/probes/browser/proto/config.proto.
	SaveTraces *bool       `protobuf:"varint,8,opt,name=save_traces,json=saveTraces" json:"save_traces,omitempty"`
	SaveTrace  *SaveOption `protobuf:"varint,9,opt,name=save_trace,json=saveTrace,enum=cloudprober.probes.browser.SaveOption,def=0" json:"save_trace,omitempty"`
	// Number of retries to run for each test.
	Retries *int32 `protobuf:"varint,10,opt,name=retries,def=0" json:"retries,omitempty"`
	// By default, we export all test metrica as counters. You can change how
	// metrics are exported by setting the following options.
	TestMetricsOptions *TestMetricsOptions `protobuf:"bytes,11,opt,name=test_metrics_options,json=testMetricsOptions" json:"test_metrics_options,omitempty"`
	// Artifacts options. If probe level artifacts options are not specified,
	// we use global artifacts options if available. Note: it typically makes
	// more sense to specify artifacts options at the global level.
	ArtifactsOptions *proto.ArtifactsOptions `protobuf:"bytes,12,opt,name=artifacts_options,json=artifactsOptions" json:"artifacts_options,omitempty"`
	// Workdir cleanup options.
	// If left unspecified, we clean up workdir every hour.
	WorkdirCleanupOptions *proto.CleanupOptions `protobuf:"bytes,13,opt,name=workdir_cleanup_options,json=workdirCleanupOptions" json:"workdir_cleanup_options,omitempty"`
	// Environment variables. These are passed/set before probing starts.
	EnvVar map[string]string `protobuf:"bytes,14,rep,name=env_var,json=envVar" json:"env_var,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Requests per probe.
	// Number of DNS requests per probe. Requests are executed concurrently and
	// each DNS request contributes to probe results. For example, if you run two
	// requests per probe, "total" counter will be incremented by 2.
	RequestsPerProbe *int32 `protobuf:"varint,98,opt,name=requests_per_probe,json=requestsPerProbe,def=1" json:"requests_per_probe,omitempty"`
	// How long to wait between two requests to the same target. Only relevant
	// if requests_per_probe is also configured.
	//
	// This value should be less than (interval - timeout) / requests_per_probe.
	// This is to ensure that all requests are executed within one probe interval
	// and all of them get sufficient time. For example, if probe interval is 2s,
	// timeout is 1s, and requests_per_probe is 10,  requests_interval_msec
	// should be less than 10ms.
	RequestsIntervalMsec *int32 `protobuf:"varint,99,opt,name=requests_interval_msec,json=requestsIntervalMsec,def=0" json:"requests_interval_msec,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

// Default values for ProbeConf fields.
const (
	Default_ProbeConf_NpxPath                   = string("npx")
	Default_ProbeConf_SaveScreenshotsForSuccess = bool(false)
	Default_ProbeConf_SaveTrace                 = SaveOption_NEVER
	Default_ProbeConf_Retries                   = int32(0)
	Default_ProbeConf_RequestsPerProbe          = int32(1)
	Default_ProbeConf_RequestsIntervalMsec      = int32(0)
)

func (x *ProbeConf) Reset() {
	*x = ProbeConf{}
	mi := &file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProbeConf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProbeConf) ProtoMessage() {}

func (x *ProbeConf) ProtoReflect() protoreflect.Message {
	mi := &file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProbeConf.ProtoReflect.Descriptor instead.
func (*ProbeConf) Descriptor() ([]byte, []int) {
	return file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescGZIP(), []int{2}
}

func (x *ProbeConf) GetTestSpec() []string {
	if x != nil {
		return x.TestSpec
	}
	return nil
}

func (x *ProbeConf) GetTestDir() string {
	if x != nil && x.TestDir != nil {
		return *x.TestDir
	}
	return ""
}

func (x *ProbeConf) GetTestSpecFilter() *TestSpecFilter {
	if x != nil {
		return x.TestSpecFilter
	}
	return nil
}

func (x *ProbeConf) GetWorkdir() string {
	if x != nil && x.Workdir != nil {
		return *x.Workdir
	}
	return ""
}

func (x *ProbeConf) GetPlaywrightDir() string {
	if x != nil && x.PlaywrightDir != nil {
		return *x.PlaywrightDir
	}
	return ""
}

func (x *ProbeConf) GetNpxPath() string {
	if x != nil && x.NpxPath != nil {
		return *x.NpxPath
	}
	return Default_ProbeConf_NpxPath
}

func (x *ProbeConf) GetSaveScreenshotsForSuccess() bool {
	if x != nil && x.SaveScreenshotsForSuccess != nil {
		return *x.SaveScreenshotsForSuccess
	}
	return Default_ProbeConf_SaveScreenshotsForSuccess
}

// Deprecated: Marked as deprecated in github.com/cloudprober/cloudprober/probes/browser/proto/config.proto.
func (x *ProbeConf) GetSaveTraces() bool {
	if x != nil && x.SaveTraces != nil {
		return *x.SaveTraces
	}
	return false
}

func (x *ProbeConf) GetSaveTrace() SaveOption {
	if x != nil && x.SaveTrace != nil {
		return *x.SaveTrace
	}
	return Default_ProbeConf_SaveTrace
}

func (x *ProbeConf) GetRetries() int32 {
	if x != nil && x.Retries != nil {
		return *x.Retries
	}
	return Default_ProbeConf_Retries
}

func (x *ProbeConf) GetTestMetricsOptions() *TestMetricsOptions {
	if x != nil {
		return x.TestMetricsOptions
	}
	return nil
}

func (x *ProbeConf) GetArtifactsOptions() *proto.ArtifactsOptions {
	if x != nil {
		return x.ArtifactsOptions
	}
	return nil
}

func (x *ProbeConf) GetWorkdirCleanupOptions() *proto.CleanupOptions {
	if x != nil {
		return x.WorkdirCleanupOptions
	}
	return nil
}

func (x *ProbeConf) GetEnvVar() map[string]string {
	if x != nil {
		return x.EnvVar
	}
	return nil
}

func (x *ProbeConf) GetRequestsPerProbe() int32 {
	if x != nil && x.RequestsPerProbe != nil {
		return *x.RequestsPerProbe
	}
	return Default_ProbeConf_RequestsPerProbe
}

func (x *ProbeConf) GetRequestsIntervalMsec() int32 {
	if x != nil && x.RequestsIntervalMsec != nil {
		return *x.RequestsIntervalMsec
	}
	return Default_ProbeConf_RequestsIntervalMsec
}

var File_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto protoreflect.FileDescriptor

const file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDesc = "" +
	"\n" +
	"Dgithub.com/cloudprober/cloudprober/probes/browser/proto/config.proto\x12\x1acloudprober.probes.browser\x1aNgithub.com/cloudprober/cloudprober/probes/browser/artifacts/proto/config.proto\"\xa7\x01\n" +
	"\x12TestMetricsOptions\x120\n" +
	"\x14disable_test_metrics\x18\x01 \x01(\bR\x12disableTestMetrics\x12/\n" +
	"\x13disable_aggregation\x18\x02 \x01(\bR\x12disableAggregation\x12.\n" +
	"\x13enable_step_metrics\x18\x03 \x01(\bR\x11enableStepMetrics\"D\n" +
	"\x0eTestSpecFilter\x12\x18\n" +
	"\ainclude\x18\x01 \x01(\tR\ainclude\x12\x18\n" +
	"\aexclude\x18\x02 \x01(\tR\aexclude\"\xf8\a\n" +
	"\tProbeConf\x12\x1b\n" +
	"\ttest_spec\x18\x01 \x03(\tR\btestSpec\x12\x19\n" +
	"\btest_dir\x18\x02 \x01(\tR\atestDir\x12T\n" +
	"\x10test_spec_filter\x18\x03 \x01(\v2*.cloudprober.probes.browser.TestSpecFilterR\x0etestSpecFilter\x12\x18\n" +
	"\aworkdir\x18\x04 \x01(\tR\aworkdir\x12%\n" +
	"\x0eplaywright_dir\x18\x05 \x01(\tR\rplaywrightDir\x12\x1e\n" +
	"\bnpx_path\x18\x06 \x01(\t:\x03npxR\anpxPath\x12F\n" +
	"\x1csave_screenshots_for_success\x18\a \x01(\b:\x05falseR\x19saveScreenshotsForSuccess\x12#\n" +
	"\vsave_traces\x18\b \x01(\bB\x02\x18\x01R\n" +
	"saveTraces\x12L\n" +
	"\n" +
	"save_trace\x18\t \x01(\x0e2&.cloudprober.probes.browser.SaveOption:\x05NEVERR\tsaveTrace\x12\x1b\n" +
	"\aretries\x18\n" +
	" \x01(\x05:\x010R\aretries\x12`\n" +
	"\x14test_metrics_options\x18\v \x01(\v2..cloudprober.probes.browser.TestMetricsOptionsR\x12testMetricsOptions\x12c\n" +
	"\x11artifacts_options\x18\f \x01(\v26.cloudprober.probes.browser.artifacts.ArtifactsOptionsR\x10artifactsOptions\x12l\n" +
	"\x17workdir_cleanup_options\x18\r \x01(\v24.cloudprober.probes.browser.artifacts.CleanupOptionsR\x15workdirCleanupOptions\x12J\n" +
	"\aenv_var\x18\x0e \x03(\v21.cloudprober.probes.browser.ProbeConf.EnvVarEntryR\x06envVar\x12/\n" +
	"\x12requests_per_probe\x18b \x01(\x05:\x011R\x10requestsPerProbe\x127\n" +
	"\x16requests_interval_msec\x18c \x01(\x05:\x010R\x14requestsIntervalMsec\x1a9\n" +
	"\vEnvVarEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01*b\n" +
	"\n" +
	"SaveOption\x12\t\n" +
	"\x05NEVER\x10\x00\x12\n" +
	"\n" +
	"\x06ALWAYS\x10\x01\x12\x12\n" +
	"\x0eON_FIRST_RETRY\x10\x02\x12\x12\n" +
	"\x0eON_ALL_RETRIES\x10\x03\x12\x15\n" +
	"\x11RETAIN_ON_FAILURE\x10\x04B9Z7github.com/cloudprober/cloudprober/probes/browser/proto"

var (
	file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescOnce sync.Once
	file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescData []byte
)

func file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescGZIP() []byte {
	file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescOnce.Do(func() {
		file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDesc), len(file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDesc)))
	})
	return file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDescData
}

var file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_goTypes = []any{
	(SaveOption)(0),                // 0: cloudprober.probes.browser.SaveOption
	(*TestMetricsOptions)(nil),     // 1: cloudprober.probes.browser.TestMetricsOptions
	(*TestSpecFilter)(nil),         // 2: cloudprober.probes.browser.TestSpecFilter
	(*ProbeConf)(nil),              // 3: cloudprober.probes.browser.ProbeConf
	nil,                            // 4: cloudprober.probes.browser.ProbeConf.EnvVarEntry
	(*proto.ArtifactsOptions)(nil), // 5: cloudprober.probes.browser.artifacts.ArtifactsOptions
	(*proto.CleanupOptions)(nil),   // 6: cloudprober.probes.browser.artifacts.CleanupOptions
}
var file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_depIdxs = []int32{
	2, // 0: cloudprober.probes.browser.ProbeConf.test_spec_filter:type_name -> cloudprober.probes.browser.TestSpecFilter
	0, // 1: cloudprober.probes.browser.ProbeConf.save_trace:type_name -> cloudprober.probes.browser.SaveOption
	1, // 2: cloudprober.probes.browser.ProbeConf.test_metrics_options:type_name -> cloudprober.probes.browser.TestMetricsOptions
	5, // 3: cloudprober.probes.browser.ProbeConf.artifacts_options:type_name -> cloudprober.probes.browser.artifacts.ArtifactsOptions
	6, // 4: cloudprober.probes.browser.ProbeConf.workdir_cleanup_options:type_name -> cloudprober.probes.browser.artifacts.CleanupOptions
	4, // 5: cloudprober.probes.browser.ProbeConf.env_var:type_name -> cloudprober.probes.browser.ProbeConf.EnvVarEntry
	6, // [6:6] is the sub-list for method output_type
	6, // [6:6] is the sub-list for method input_type
	6, // [6:6] is the sub-list for extension type_name
	6, // [6:6] is the sub-list for extension extendee
	0, // [0:6] is the sub-list for field type_name
}

func init() { file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_init() }
func file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_init() {
	if File_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDesc), len(file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_goTypes,
		DependencyIndexes: file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_depIdxs,
		EnumInfos:         file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_enumTypes,
		MessageInfos:      file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_msgTypes,
	}.Build()
	File_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto = out.File
	file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_goTypes = nil
	file_github_com_cloudprober_cloudprober_probes_browser_proto_config_proto_depIdxs = nil
}
